Get Datadictionary object from File Number: Difference between revisions

From DataFlex Wiki
Jump to navigationJump to search
m (Updated the code a bit to be more clear and self explanatory)
m (Changed function name to better describe what it does)
Line 2: Line 2:


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:
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 DDO_From_TableName String sTableName Returns Handle
   Function Create_DDO_From_TableName String sTableName Returns Handle
     String  sClassID  
     String  sClassID  
     String  sEvalClassId
     String  sEvalClassId
Line 24: Line 24:
     End
     End
     Function_Return hoDD
     Function_Return hoDD
   End_Function // DDO_From_TableName
   End_Function // Create_DDO_From_TableName


This assumes your DD's are called TableName_DataDictionary, like the pre 14.1 standard was.
This assumes your DD's are called TableName_DataDictionary, like the pre 14.1 standard was.

Revision as of 13:05, 24 February 2011

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.


External links

Get DataDictionary Object from File Number]