Get Datadictionary object from File Number
From DataFlex Wiki
Jump to navigationJump to search
Get DataDictionary Object from File Number
If you have nothing except the table number, you can find the table name, construct the data dictionary class name from that, and use Eval to get the class id:
Function Create_DDO_From_TableName String sTableName Returns Handle
String sClassID
String sEvalClassId
Integer iClassID
Handle hoDD
Move "" To sClassID
Move 0 To hoDD
Send Ignore_Error Of Error_Object_ID 54
Move (SFormat("U_%1_DataDictionary", sTableName)) to sClassId
Move (Eval(sClassId)) to sEvalClassId
Send Trap_Error Of Error_Object_ID 54
If (sClassId <> sEvalClassId) Begin
Move (Cast(sEvalClassId,Handle)) To iClassID
Get Create of Desktop iClassID to hoDD
If (hoDD<>0) Begin
// set a name so it is easier to recognize in the debugger
Set Name of hoDD to ("Global_"+sTableName+"_DD")
End
End
Function_Return hoDD
End_Function // Create_DDO_From_TableName
This assumes your DD's are called TableName_DataDictionary, like the pre 14.1 standard was.