=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Command: INITIALIZE_INTERFACE Parameters: None. Description: INITIALIZE_INTERFACE initializes the object resource information. It should be executed before any other object related operations are performed. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
// B$ obj_flag bit 0 = in_object, bit 1 = in_class, bit 2 = in proc/func
// X.AGG agg_count(class) defined count of objects in class
// ZA$ procedure/function label for procedures and functions
// ZB$ current_dep the current dependant number to assign
// ZC$ current_message the current flex message number
// ZD$ group_size size of the current item group
// ZE$ group_id unique id of current item group
// ZF$ super_class_count count of objects in superclass
// ZG$ temp temp counter (items, functions etc)
// ZH$ access_method the current access method identifyer
// ZI$ sub_obj_count the sub object counter
// ZJ$ current_object the current_object number
// #SET ZC$ $400 // begin up high, past predefinded
#SET ZC$ $1000 // now reserving 4K for predefined msgs
// #SET ZH$ $4001 // begin access methods here
#SET ZH$ $40000001 // now using 32-bit msg ids; allows for 256M objs
#SET ZJ$ 2 // desktop and clipboard are first
#REPLACE IS$NEW$FMAC |CI1 // indicates that this is the new fmac
// #REPLACE IS$WINDOWS |CI1 // comment this to create character mode version
#REPLACE MANGLE_NAMES |CI1 // Adds name mangling.
#REPLACE EXTENDED_DATA_TYPES |CI1 // Adds extended data types.
#IFNDEF SUPPORT$ADDRESS
#IFDEF EXTENDED_DATA_TYPES
#REPLACE SUPPORT$ADDRESS |CI1
#ENDIF
#ENDIF
//#REPLACE WINBASE_CONSOLIDATION |CI1 // Moves messages into dfmsg.pkg
// Informational output to screen/printer/file.
// This information is essential to know whether things are right at compile time.
#IFDEF IS$WINDOWS
#REM FMAC FOR VISUAL DATAFLEX AND WEB APP STUDIO.
#ELSE
#REM FMAC FOR DATAFLEX CHARACTER MODE.
#ENDIF
#IFDEF MANGLE_NAMES
#REM NAME MANGLING ENABLED!
#ENDIF
#IFDEF EXTENDED_DATA_TYPES
#REM EXTENDED DATA TYPES ENABLED!
#ENDIF
// Current FMAC Version, Revision and Build
#REPLACE FMAC_VERSION |CI16
#REPLACE FMAC_REVISION |CI1
#REPLACE FMAC_BUILD |CI81
#IFDEF IS$WINDOWS
// Define object class types.
#REPLACE U_cObject |CI1 // Basic object support.
#REPLACE U_cUIObject |CI2 // UI Object
// removed in 8.3 --- might have #replaces defined in dfbase.pkg
//#REPLACE U_DESKTOP |CI1 // a desktop class object - obsolete
//#REPLACE U_BaseClass |CI1 // a desktop class object - obsolete
//#REPLACE U_MESSAGE |CI2 // a message class object -obsolete
#REPLACE U_cm_MENU |CI3 // a menu class object
#REPLACE U_cm_EDIT |CI4 // a edit class object
#REPLACE U_SCROLLB |CI5 // a scroll bar class object
#REPLACE U_cm_LIST |CI6 // a list class object
#REPLACE U_cm_BUTTON |CI7 // a button class object
#REPLACE U_cm_CHECKBOX |CI8 // a check box class object
#REPLACE U_cm_CHECKLIST |CI9 // a check box class object
#REPLACE U_cm_FORM |CI10 // a form class object
#REPLACE U_cm_FORMLIST |CI11 // a form class object
#REPLACE U_CLIENT |CI12 // a client area class object
#REPLACE U_cm_TITLE |CI13 // a title bar class object
#REPLACE U_cm_ACTION_BAR |CI14 // a action bar class object
#REPLACE U_cm_WARNING_MSG |CI15 // a warning message class object
#REPLACE U_cm_CRIT_MSG |CI16 // a critical error class object
#REPLACE U_cm_ERROR |CI17 // a standard error class object
#REPLACE U_cm_HELP |CI18 // a help class object
#REPLACE U_ARRAY |CI19 // a array class of mixed scalars
#REPLACE U_TRACE |CI20 // a trace class object
#REPLACE U_cm_ENTRY |CI21 // a data entry class object
#REPLACE U_cm_ENTRYLIST |CI22 // a data entry class object
#REPLACE U_cm_DIALOG |CI23 // a DIALOG area class object
#REPLACE U_cm_RADIO |CI24 // a radio button area
#REPLACE U_cm_RADIOLIST |CI25 // a radio list area
#REPLACE U_cm_VCONSOLE |CI26 // a virtual console area
#REPLACE U_CLIPBOARD |CI27 // the clipboard handler
#REPLACE U_DFBaseObject |CI28
#REPLACE U_DFBaseWindow |CI29
#REPLACE U_DFBaseUIWindow |CI30
#REPLACE U_DFBaseContainer |CI31
#REPLACE U_DFBaseDialog |CI32
#REPLACE U_DFBasePanel |CI33
#REPLACE U_cDesktop |CI34 // prior to 8.3 this was dfBaseDesktop
#REPLACE U_DFBaseControl |CI35
#REPLACE U_DFBaseMenu |CI36
#REPLACE U_DFBaseButton |CI37
#REPLACE U_DFBasePushButton |CI38
//#REPLACE U_DFComboButton |CI39 // no longer exists
#REPLACE U_DFBaseCheckBox |CI40
#REPLACE U_DFBaseRadioButton |CI41
#REPLACE U_DFBaseTriState |CI42 // not supported at highlevel
#REPLACE U_DFBaseForm |CI43
#REPLACE U_DFBaseEntry |CI44
//#REPLACE U_DFComboForm |CI45 // no longer exists
#REPLACE U_DFBaseList |CI46
#REPLACE U_DFBaseFormList |CI47
#REPLACE U_DFBaseCheckList |CI48 // not used
#REPLACE U_DFBaseRadioList |CI49 // not used
#REPLACE U_DFBaseEntryList |CI50 // not used
#REPLACE U_DFBaseComboBox |CI51
#REPLACE U_DFBaseTriStateList |CI52
#REPLACE U_DFBasePushButtonList |CI53
#REPLACE U_DFBaseActionBar |CI54
#REPLACE U_DFBasePullDown |CI55
#REPLACE U_DFBaseSysMenu |CI56
#REPLACE U_DFBaseGroup |CI57
#REPLACE U_DFBaseScrollBar |CI58
#REPLACE U_DFBaseHorzScrollBar |CI59
#REPLACE U_DFRubberBand |CI60 // no longer exists
#REPLACE U_DFBaseTextBox |CI61
#REPLACE U_DFBaseEdit |CI62
#REPLACE U_DFBaseSession |CI63
#REPLACE U_DFBaseDllSession |CI64
#REPLACE U_DFBaseSerial |CI65
#REPLACE U_DFBaseLineForm |CI66
//#REPLACE U_DFVconsole |CI67 // no longer exists
#REPLACE U_DFBaseToolPanel |CI68
#REPLACE U_DFBaseMapiSession |CI69
#REPLACE U_DFBaseImageList |CI70
#REPLACE U_DFBaseTabDialog |CI71
#REPLACE U_DFBaseToolBar |CI72 // was dfbuttonbar
#REPLACE U_DFBaseComboBoxEntry |CI73
#REPLACE U_DFBaseMdiClient |CI74
#REPLACE U_DFBaseListBox |CI75
#REPLACE U_DFBaseEditPulldown |CI76
#REPLACE U_DFBaseLineControl |CI77
// inet classes
#REPLACE U_INETTRANSFER |CI78
#REPLACE U_CFTPTRANSFER |CI79
#REPLACE U_CBASEHTTPTRANSFER |CI80
// XML Classes
#REPLACE U_BaseXMLDOMNODE |CI81
#REPLACE U_BaseXMLDOMNODELIST |CI82
#REPLACE U_BaseXMLDOMNAMEDNODEMAP |CI83
#REPLACE U_BaseXMLDOMPARSEERROR |CI84
#REPLACE U_BaseXMLDOMIMPLEMENTATION |CI85
#REPLACE U_BaseXMLDOMDOCUMENTFRAGMENT |CI86
#REPLACE U_BaseXMLDOMDOCUMENT |CI87
#REPLACE U_BaseXMLDOMCHARACTERDATA |CI88
#REPLACE U_BaseXMLDOMTEXTNODE |CI89
#REPLACE U_BaseXMLDOMCDATASECTION |CI90
#REPLACE U_BaseXMLDOMCOMMENT |CI91
#REPLACE U_BaseXMLDOMATTRIBUTE |CI92
#REPLACE U_BaseXMLDOMELEMENT |CI93
#REPLACE U_BaseXMLDOMPROCESSINGINSTRUCTION |CI94
#REPLACE U_BaseXMLDOMDOCUMENTTYPE |CI95
#REPLACE U_BaseXMLDOMNOTATION |CI96
#REPLACE U_BaseXMLDOMENTITY |CI97
#REPLACE U_BaseXMLDOMENTITYREFERENCE |CI98
#REPLACE U_CBASEWEBSERVICE |CI00105
// flexcom2 runtime classes
#REPLACE U_DFCOMAUTOMATIONOBJECT |CI107
#REPLACE U_DFCOMDOCUMENTOBJECT |CI108
#REPLACE U_DFCOMACTIVEXCONTROL |CI109
#REPLACE U_DFCOMDESIGNCONTROL |CI110
#REPLACE U_DFCOMIDISPATCHDRIVER |CI111
#REPLACE U_DFBaseRichEdit |CI112 // added 11.0
#REPLACE U_DFBaseTextEdit |CI113 // added 11.0
#Replace U_cIdleHandler |CI128 // added 12.1
#ELSE
// character mode class defintions
// Define object class types.
#REPLACE U_DESKTOP |CI1 // a desktop class object
#REPLACE U_MESSAGE |CI2 // a message class object
#REPLACE U_MENU |CI3 // a menu class object
#REPLACE U_EDIT |CI4 // a edit class object
#REPLACE U_SCROLLB |CI5 // a scroll bar class object
#REPLACE U_LIST |CI6 // a list class object
#REPLACE U_BUTTON |CI7 // a button class object
#REPLACE U_CHECKBOX |CI8 // a check box class object
#REPLACE U_CHECKLIST |CI9 // a check box class object
#REPLACE U_FORM |CI10 // a form class object
#REPLACE U_FORMLIST |CI11 // a form class object
#REPLACE U_CLIENT |CI12 // a client area class object
#REPLACE U_TITLE |CI13 // a title bar class object
#REPLACE U_ACTION_BAR |CI14 // a action bar class object
#REPLACE U_WARNING_MSG |CI15 // a warning message class object
#REPLACE U_CRIT_MSG |CI16 // a critical error class object
#REPLACE U_ERROR |CI17 // a standard error class object
#REPLACE U_HELP |CI18 // a help class object
#REPLACE U_ARRAY |CI19 // a array class of mixed scalars
#REPLACE U_TRACE |CI20 // a trace class object
#REPLACE U_ENTRY |CI21 // a data entry class object
#REPLACE U_ENTRYLIST |CI22 // a data entry class object
#REPLACE U_DIALOG |CI23 // a DIALOG area class object
#REPLACE U_RADIO |CI24 // a radio button area
#REPLACE U_RADIOLIST |CI25 // a radio list area
#REPLACE U_VCONSOLE |CI26 // a virtual console area
#REPLACE U_CLIPBOARD |CI27 // the clipboard handler
#ENDIF
// Base data structures
#REPLACE MESSAGE_CLASS |CI0
#REPLACE MENU_CLASS |CI1
#REPLACE LIST_CLASS |CI2
#REPLACE EDIT_CLASS |CI3
#REPLACE SCROLL_CLASS |CI4
#REPLACE ARRAY_CLASS |CI5
// Define physical key names
#REPLACE KEY_ALT |VI$8200
#REPLACE KEY_SHIFT |VI$8400
#REPLACE KEY_CTRL |VI$8800
#REPLACE KEY_ENTER |VI$9001
#REPLACE KEY_TAB |VI$9002
#REPLACE KEY_BACK_SPACE |VI$9003
#REPLACE KEY_ESCAPE |VI$9004
#REPLACE KEY_UP_ARROW |VI$9005
#REPLACE KEY_DOWN_ARROW |VI$9006
#REPLACE KEY_LEFT_ARROW |VI$9007
#REPLACE KEY_RIGHT_ARROW |VI$9008
#REPLACE KEY_HOME |VI$9009
#REPLACE KEY_END |VI$900A
#REPLACE KEY_PGUP |VI$900B
#REPLACE KEY_PGDN |VI$900C
#REPLACE KEY_INSERT |VI$900D
#REPLACE KEY_DELETE |VI$900E
#REPLACE KEY_F1 |VI$9010
#REPLACE KEY_F2 |VI$9011
#REPLACE KEY_F3 |VI$9012
#REPLACE KEY_F4 |VI$9013
#REPLACE KEY_F5 |VI$9014
#REPLACE KEY_F6 |VI$9015
#REPLACE KEY_F7 |VI$9016
#REPLACE KEY_F8 |VI$9017
#REPLACE KEY_F9 |VI$9018
#REPLACE KEY_F10 |VI$9019
#REPLACE KEY_F11 |VI$901A
#REPLACE KEY_F12 |VI$901B
#REPLACE KEY_A |VI$8041
#REPLACE KEY_B |VI$8042
#REPLACE KEY_C |VI$8043
#REPLACE KEY_D |VI$8044
#REPLACE KEY_E |VI$8045
#REPLACE KEY_F |VI$8046
#REPLACE KEY_G |VI$8047
#REPLACE KEY_H |VI$8048
#REPLACE KEY_I |VI$8049
#REPLACE KEY_J |VI$804A
#REPLACE KEY_K |VI$804B
#REPLACE KEY_L |VI$804C
#REPLACE KEY_M |VI$804D
#REPLACE KEY_N |VI$804E
#REPLACE KEY_O |VI$804F
#REPLACE KEY_P |VI$8050
#REPLACE KEY_Q |VI$8051
#REPLACE KEY_R |VI$8052
#REPLACE KEY_S |VI$8053
#REPLACE KEY_T |VI$8054
#REPLACE KEY_U |VI$8055
#REPLACE KEY_V |VI$8056
#REPLACE KEY_W |VI$8057
#REPLACE KEY_X |VI$8058
#REPLACE KEY_Y |VI$8059
#REPLACE KEY_Z |VI$805A
#REPLACE KEY_SPACE |VI$8020
#REPLACE KSPACE |VI$8020
#REPLACE KEY_0 |VI$8030
#REPLACE KEY_1 |VI$8031
#REPLACE KEY_2 |VI$8032
#REPLACE KEY_3 |VI$8033
#REPLACE KEY_4 |VI$8034
#REPLACE KEY_5 |VI$8035
#REPLACE KEY_6 |VI$8036
#REPLACE KEY_7 |VI$8037
#REPLACE KEY_8 |VI$8038
#REPLACE KEY_9 |VI$8039
#REPLACE KEY_PLUS |VI$802B
#REPLACE KEY_MINUS |VI$802D
#REPLACE KEY_EQUAL |VI$803D
#REPLACE KEY_BACK_SLASH |VI$805C
#REPLACE KEY_SLASH |VI$802F
// Define Accelerator key names.
#REPLACE KHELP |CI274
#REPLACE KSAVE_RECORD |CI265
#REPLACE KDELETE_RECORD |CI266
#REPLACE KEXIT_FUNCTION |CI281
#REPLACE KEXIT_APPLICATION |CI282
#REPLACE KPROMPT |CI283
#REPLACE KPRINT_SCREEN |CI258
#REPLACE KCLEAR |CI269
#REPLACE KREFRESH_SCREEN |CI284
#REPLACE KSWITCH |CI285
#REPLACE KSWITCH_BACK |CI286
#REPLACE KFIND |CI263
#REPLACE KFIND_PREVIOUS |CI270
#REPLACE KFIND_NEXT |CI271
#REPLACE KSUPER_FIND |CI264
#REPLACE KSUPER_FIND_PREVIOUS |CI287
#REPLACE KSUPER_FIND_NEXT |CI288
#REPLACE KACTION_BAR |CI289
#REPLACE KENTER |CI257
#REPLACE KUPARROW |CI272
#REPLACE KDOWNARROW |CI273
#REPLACE KLEFTARROW |CI260
#REPLACE KRIGHTARROW |CI261
#REPLACE KSCROLL_BACK |CI290
#REPLACE KSCROLL_FORWARD |CI291
#REPLACE KSCROLL_LEFT |CI292
#REPLACE KSCROLL_RIGHT |CI293
#REPLACE KBEGIN_OF_LINE |CI294
#REPLACE KEND_OF_LINE |CI295
#REPLACE KNEXT_ITEM |CI296
#REPLACE KPREVIOUS_ITEM |CI262
#REPLACE KDELETE_CHARACTER |CI277
#REPLACE KERASE_END_OF_LINE |CI297
#REPLACE KBACK_SPACE |CI278
#REPLACE KCANCEL |CI259
#REPLACE KBEGIN_OF_PANEL |CI298
#REPLACE KEND_OF_PANEL |CI299
#REPLACE KBEGIN_OF_DATA |CI300
#REPLACE KEND_OF_DATA |CI301
#REPLACE KWORD_LEFT |CI302
#REPLACE KWORD_RIGHT |CI303
#REPLACE KINSERT |CI276
#REPLACE KCLEAR_AND_RETURN |CI279
#REPLACE KADD_MODE |CI304
#REPLACE KPASTE |CI305
#REPLACE KCOPY |CI306
#REPLACE KCUT |CI307
#REPLACE KCLEAR_ALL |CI308
#REPLACE KMOUSE |CI309
#REPLACE KMARK |CI310
#REPLACE KZOOM |CI311
#REPLACE KCLOSE_PANEL |CI312
//OLD KEY DEFINITIONS
#REPLACE KCALCULATE |CI267
#REPLACE KUSER |CI268
#REPLACE KUSER2 |CI275
#REPLACE KCLEOW |CI280
//#FREG |CI$01CE STRING PERCENTAGE RETURNS INTEGER
#REPLACE DFLT$VALUE __X__
#REPLACE DFLT$MESSAGE __X__
#REPLACE DFLT$AUX_VALUE __X__
#REPLACE DFLT$SHADOW_STATE __X__
#REPLACE DFLT$SELECT_STATE __X__
#REPLACE DFLT$CHECKBOX_ITEM_STATE __X__
#REPLACE DFLT$AUTOCLEAR_STATE __X__
#REPLACE DFLT$CENTER_STATE __X__
#REPLACE DFLT$ENTRY_STATE __X__
#REPLACE DFLT$ITEM_CHANGED_STATE __X__
#REPLACE DFLT$ITEM_ENTRY_MSG __X__
#REPLACE DFLT$ITEM_EXIT_MSG __X__
#REPLACE DFLT$ITEM_VALIDATE_MSG __X__
#REPLACE DFLT$DATA_FILE __X__
#REPLACE DFLT$DATA_FIELD __X__
#REPLACE DFLT$DATA_WINDOW __X__
#REPLACE DFLT$ITEM_OPTIONS __X__
#REPLACE DFLT$ITEM_OPTION __X__
#REPLACE DFLT$PROMPT_OBJECT __X__
#REPLACE DFLT$ZOOM_OBJECT __X__
#IFDEF IS$WINDOWS
// Define all Form properties that require an index (item). If the item parameter
// is omitted item 0 is used as a default. This allows single item objects (e.g. Form)
// to omit the item number. (e.g. Set Password_State to True).
#REPLACE DFLT$FORM_WIDTH __F__
#REPLACE DFLT$FORM_COLOR __F__
#REPLACE DFLT$FORM_DATATYPE __F__
#REPLACE DFLT$FORM_OPTIONS __F__
#REPLACE DFLT$FORM_FONT __F__
#REPLACE DFLT$FORM_ROW __F__
#REPLACE DFLT$FORM_COLUMN __F__
#REPLACE DFLT$FORM_TYPEFACE __F__
#REPLACE DFLT$FORM_FONTHEIGHT __F__
#REPLACE DFLT$FORM_FONTWEIGHT __F__
#REPLACE DFLT$FORM_FONTITALICS __F__
#REPLACE DFLT$FORM_FONTUNDERLINE __F__
#REPLACE DFLT$BUTTON_ASPECT __F__
#REPLACE DFLT$FORM_HEIGHT __F__
#REPLACE DFLT$FORM_GUIWIDTH __F__
#REPLACE DFLT$FORM_GUIHEIGHT __F__
#REPLACE DFLT$FORM_GUIROW __F__
#REPLACE DFLT$FORM_GUICOLUMN __F__
#REPLACE DFLT$FORM_MARGIN __F__
#REPLACE DFLT$FORM_OPTION __F__
#REPLACE DFLT$FORM_STYLE __F__
#REPLACE DFLT$FORM_EXTENDED_STYLE __F__
#REPLACE DFLT$FORM_BORDER __F__
#REPLACE DFLT$PASSWORD_STATE __F__
#REPLACE DFLT$FORM_MASK __F__
#REPLACE DFLT$FORM_BUTTON __F__
#REPLACE DFLT$FORM_BUTTON_VALUE __F__
#REPLACE DFLT$FORM_WINDOW_HANDLE __F__
#REPLACE DFLT$FORM_BUTTON_WINDOW_HANDLE __F__
#REPLACE DFLT$MASKED_VALUE __F__ // these are really form properties
#REPLACE DFLT$UNMASKED_VALUE __F__ // so if no param use 0
#REPLACE DFLT$FORM_JUSTIFICATION_MODE __F__
// These are index (item or form) tem based properties that require two
// parameters in the set statement following the "to". Please do not
// create any more of these kinds of messages
#REPLACE DFLT$2$ITEM_OPTION __2__
#REPLACE DFLT$2$FORM_COLOR __2__
#REPLACE DFLT$2$FORM_STYLE __2__
#REPLACE DFLT$2$FORM_EXTENDED_STYLE __2__
#ENDIF
//Reserve$Internal$Functions // this disallows these names to be used in
// in functions, properties or cts.
#REPLACE FN$Abs __F__
#REPLACE FN$Acos __F__
#REPLACE FN$Append __F__
#REPLACE FN$Ascii __F__
#REPLACE FN$Asin __F__
#REPLACE FN$Atan __F__
#REPLACE FN$Center __F__
#REPLACE FN$Character __F__
#REPLACE FN$Cos __F__
#REPLACE FN$Date __F__
#REPLACE FN$Eval __F__
#REPLACE FN$Exp __F__
#REPLACE FN$Hi __F__
#REPLACE FN$If __F__
#REPLACE FN$Insert __F__
#REPLACE FN$Integer __F__
#REPLACE FN$Left __F__
#REPLACE FN$Length __F__
#REPLACE FN$Log __F__
#REPLACE FN$Low __F__
#REPLACE FN$Lowercase __F__
#REPLACE FN$Ltrim __F__
#REPLACE FN$Mid __F__
#REPLACE FN$Mod __F__
#REPLACE FN$Not __F__
#REPLACE FN$Number __F__
#REPLACE FN$Overstrike __F__
#REPLACE FN$Pad __F__
#REPLACE FN$Pos __F__
#REPLACE FN$Random __F__
#REPLACE FN$Real __F__
#REPLACE FN$Remove __F__
#REPLACE FN$Repeat __F__
#REPLACE FN$Replace __F__
#REPLACE FN$Replaces __F__
#REPLACE FN$Right __F__
#REPLACE FN$Round __F__
#REPLACE FN$Rtrim __F__
#REPLACE FN$Sin __F__
#REPLACE FN$Sqrt __F__
#REPLACE FN$String __F__
#REPLACE FN$Tan __F__
#REPLACE FN$Trim __F__
#REPLACE FN$Uppercase __F__
#IFDEF EXTENDED_DATA_TYPES
#REPLACE FN$CurrentDateTime __F__
#REPLACE FN$DateGetDay __F__
#REPLACE FN$DateGetDayofWeek __F__
#REPLACE FN$DateGetDayofYear __F__
#REPLACE FN$DateGetHour __F__
#REPLACE FN$DateGetMinute __F__
#REPLACE FN$DateGetMonth __F__
#REPLACE FN$DateGetSecond __F__
#REPLACE FN$DateGetYear __F__
#REPLACE FN$DateSetDay __F__
#REPLACE FN$DateSetHour __F__
#REPLACE FN$DateSetMinute __F__
#REPLACE FN$DateSetMonth __F__
#REPLACE FN$DateSetSecond __F__
#REPLACE FN$DateSetYear __F__
#REPLACE FN$IsDateValid __F__
#REPLACE FN$SpanDays __F__
#REPLACE FN$SpanHours __F__
#REPLACE FN$SpanMinutes __F__
#REPLACE FN$SpanSeconds __F__
#REPLACE FN$SpanTotalDays __F__
#REPLACE FN$SpanTotalHours __F__
#REPLACE FN$SpanTotalMinutes __F__
#REPLACE FN$SpanTotalSeconds __F__
#REPLACE FN$Addressof __F__
#REPLACE FN$Cast __F__
#REPLACE FN$Convert __F__
#REPLACE FN$InvokeXML __F__
//
#REPLACE FN$Storec __F__
#REPLACE FN$Storew __F__
#REPLACE FN$Storedw __F__
#REPLACE FN$Derefc __F__
#REPLACE FN$Derefw __F__
#REPLACE FN$Derefdw __F__
#REPLACE FN$MemCopy __F__
#REPLACE FN$MemSet __F__
#REPLACE FN$IsSameCOMObject __F__
#REPLACE FN$IsNullCOMObject __F__
#REPLACE FN$NullCOMObject __F__
// 11.0 changes
#REPLACE FN$FindByRowId __F__
#REPLACE FN$GetRowId __F__
#REPLACE FN$NullRowId __F__
#REPLACE FN$IsNullRowId __F__
#REPLACE FN$IsSameRowId __F__
#REPLACE FN$SerializeRowId __F__
#REPLACE FN$DeSerializeRowId __F__
#REPLACE FN$SizeOfArray __F__
#REPLACE FN$ResizeArray __F__
#REPLACE FN$CStringLength __F__
#REPLACE FN$SizeOfType __F__ // size of any data type including structs
// 11.1 changes
#REPLACE FN$BinarySearchArray __F__
#REPLACE FN$CopyArray __F__
#REPLACE FN$CountArray __F__
#REPLACE FN$FillArray __F__
#REPLACE FN$MinArray __F__
#REPLACE FN$MaxArray __F__
#REPLACE FN$ReverseArray __F__
#REPLACE FN$SearchArray __F__
#REPLACE FN$ShuffleArray __F__
#REPLACE FN$SortArray __F__
// 15.0 changes added post 15.0
#REPLACE FN$RemoveFromArray __F__
#REPLACE FN$InsertInArray __F__
#REPLACE FN$RightPos __F__
#ENDIF // is windows
// Object commands
#REPLACE OBJ$INIT $0440
#REPLACE OBJ$CREATE $0441
#REPLACE OBJ$ILIST $0442
#REPLACE OBJ$ITEM $0443
#REPLACE OBJ$ENDILIST $0444
#REPLACE OBJ$ACCLIST $0445 // not used
#REPLACE OBJ$ONKEY $0446
#REPLACE OBJ$ENDALIST $0447 // not used
#REPLACE OBJ$ENDDEFINE $0448 // not used
#REPLACE OBJ$IODISPATCH $0449
#REPLACE OBJ$SET $044A
#REPLACE OBJ$GET $044B
#REPLACE OBJ$SEND $044C
#REPLACE OBJ$FIX $044D // not used
#REPLACE OBJ$END $044E
#REPLACE OBJ$FWDFIX $044F // not used
#REPLACE OBJ$HRET $0450
#REPLACE OBJ$ITEM_EXEC $0451
#REPLACE OBJ$ACCEPT $0452
#REPLACE CREATE$CLASS $0453
#REPLACE HANDLE$FOR $0454
#REPLACE OBJ$END$HANDLER $0455
#REPLACE LOCAL$ARGUMENT $0456
#REPLACE FIND$OBJECT $0457
#REPLACE END$CLASS $0458
#REPLACE CREATE$SUB$PAGE $0459
#REPLACE CLONE$CLASS $045A
#REPLACE OBJ$ENTRY$ITEM $045B
#REPLACE MOVE$SUB$PAGE $045C
#REPLACE OBJ$TIMER $045D
#REPLACE SCREEN$OPT $045E
#REPLACE CREATE$PROPERTY $045F
#REPLACE REDEFINE$SUB$PAGE $0464
//Focus modes:
#REPLACE FOCUSABLE |CI0
#REPLACE NONFOCUSABLE |CI1
#REPLACE POINTER_ONLY |CI2
#REPLACE NO_ACTIVATE |CI3
//Search modes:
#REPLACE FIRST_CHARACTER |CI0
#REPLACE INCREMENTAL |CI1
#REPLACE CAPITAL |CI2
#REPLACE NO_SEARCH |CI3
//Delegation modes:
#REPLACE DELEGATE_TO_PARENT |CI0
#REPLACE NO_DELEGATE_OR_ERROR |CI1
#REPLACE NO_DELEGATION |CI2
#REPLACE RETURN_INVALID_MESSAGE |CI3
#REPLACE DELEGATE_PRIOR_LEVEL |CI4
//Location modes:
#REPLACE ABSOLUTE |CI0
#REPLACE RELATIVE |CI1
#REPLACE ITEM_RELATIVE |CI2
//Sort modes:
#REPLACE ASCENDING |CI0
#REPLACE DESCENDING |CI1
//Select Modes:
#REPLACE NO_SELECT |CI0
#REPLACE SINGLE_SELECT |CI1
#REPLACE MULTI_SELECT |CI2
#REPLACE AUTO_SELECT |CI3
//Entry item options:
#REPLACE IWINDOW $C0A1
#REPLACE IENTRY $C0A2
#REPLACE IEXIT $C0A3
#REPLACE IVALIDATE $C0A4
#REPLACE IZOOM $C0A5
#REPLACE IPROMPT $C0A6
//Import modes
#REPLACE INHERIT 1
#REPLACE NO_OVERWRITE 2
//System integers
#REPLACE CURRENT_OBJECT |VI85
#REPLACE SELF |VI85 // as of 12.0 this is now part of fmac
#REPLACE FORWARD$MESSAGE |VI87
#REPLACE CURRENT_MESSAGE |VI88
#REPLACE TOTAL_OBJECTS |VI89
// Define the desktop objects
#REPLACE NULL_OBJECT |CI0
#REPLACE CLIPBOARD |CI1
#REPLACE CLIPBOARD.N |CI0
//#REPLACE DESKTOP |CI2 // now defined in flex$init
#REPLACE DESKTOP.N |CI0
//#REPLACE END_FUNCTION END_PROCEDURE // now defined in flex$init
//#REPLACE PROCEDURE_RETURN FUNCTION_RETURN // now defined in flex$init
#REPLACE NO_IMAGE |CI-9999
#REPLACE CURRENT |CI-99 //use current item#
#REPLACE TOGGLE_STATE |CI3 //toggle boolean state
#REPLACE UPWARD_DIRECTION |CI0 //scroll up
#REPLACE DOWNWARD_DIRECTION |CI1 //scroll down
// #REPLACE GET_SCROLLBAR |CI$4000
// #REPLACE GET_CLIPBOARD |CI$4001
// #FREG |CI$4000 RETURNS INTEGER
// #FREG |CI$4001 RETURNS INTEGER
// bumped up for 32-bit msg ids
#REPLACE GET_SCROLLBAR |CI$40000000
#REPLACE GET_CLIPBOARD |CI$40000001
#FREG |CI$40000000 RETURNS INTEGER
#FREG |CI$40000001 RETURNS INTEGER
#REPLACE ERROR_OBJECT_ID |VI100
#REPLACE ERROR_TYPE |VI101
#REPLACE ERROR_CHILD_INHERITS_PARENT |CI0
#REPLACE ERROR_OFF_IN_CHILD |CI1
#REPLACE ERROR_DEFAULT_IN_CHILD |CI2
//deactivate search modes
#REPLACE SCOPE_TYPE |CI1
#REPLACE POPUP_TYPE |CI2
#REPLACE AREA_TYPE |CI3
//add_focus/activate/deactivate/release_focus error return codes
#REPLACE ERROR_ENTERING |CI1
#REPLACE ERROR_EXITING |CI2
#REPLACE ERROR_ACTIVATING |CI3
#REPLACE ERROR_DEACTIVATING |CI4
#REPLACE ERROR_CANT_ACCEPT_FOCUS |CI5
#REPLACE ERROR_CANT_CREATE_TREE |CI6
#REPLACE ERROR_ADD_TO_INACTIVE_OBJECT |CI7
#REPLACE ERROR_NO_FOCUSABLE_CHILDREN |CI8
// modes for peInNeighborHood
#REPLACE nhNo |CI0 // not a neighbor, check to see if parent is neighbor
#REPLACE nhPublic |CI1 // Is a neighbor hood, All descendant objects may address each other
#REPLACE nhPrivate |CI2 // Is a private neighborhood. descendants can not addres each other
// alias data-types. These used to be in dll.pkg but are best defined here.
#REPLACE Pointer Integer // Parameter is a POINTER
#REPLACE DWord Integer // Parameter is a DWORD (32 bits)
#REPLACE Handle DWord // Parameter is a HANDLE (32 bits)
#REPLACE Void_Type Integer // Return type is VOID
// The following set of replacements define the type of load for the
// DLL. Each load type has the standard set of trade offs, speed
// vs memory. A lib that is loaded each time is probable the most memory
// efficient, but suffers from load speed overhead. However, large DLLs
// that are retained in memory are not using system resources as
// efficientry as possible. Note that some DLLs are already in memory.
// The Windows Kernel and USER libs are already loaded by Windows, and
// do not take up more memory.
// These are used by command SET_DEFAULT_CALLTYPE (which is actually rarely if ever used)
#REPLACE LOAD_ON_EACH_USE |CI0 // Load and free on each call (slow)
#REPLACE LOAD_LIBRARY |CI1 // Load Lib on definition
#REPLACE DELETE_ENTRY |CI2 // Delete lib entry in reg DataBase
#REPLACE FREE_LIBRARY |CI4 // Free lib in Reg DataBase
#REPLACE LOAD_ON_USE |CI8 // Load lib on first use (call)
#CHKSUB 1 1 // Verify the UI subsystem.
!A [] OBJ$INIT |CI0 // INITIALIZE_INTERFACE
#FREF OBJ$DESK$NUM !a // Number of desktop dependants