diff --git a/src/Common/FoxProCmd.xh b/src/Common/FoxProCmd.xh index e8944fd0b1..8e2f00adbc 100644 --- a/src/Common/FoxProCmd.xh +++ b/src/Common/FoxProCmd.xh @@ -659,8 +659,8 @@ #command LABEL <*any*> => __VfpUnsupported("LABEL") -#command CREATE <*any*> ; - => #error This command is not supported: <(udc)> +#command CREATE <*any*> ; + => __VfpUnsupported( <"udc"> ) // supported CREATE commands in FoxProSql.xh // CREATE CURSOR @@ -669,7 +669,136 @@ // CREATE [SQL] VIEW #command MODIFY <*any*> ; - => #error This command is not supported: <(udc)> + => __VfpUnsupported( <"udc"> ) + +// @... command (all variants: SAY, GET, BOX, CLEAR, EDIT, FILL, MENU, PROMPT, SCROLL, TO, CLASS) +#command @ <*any*> => __VfpUnsupported( <"udc"> ) + +// ACTIVATE - menus, popups, screens, user-defined windows +#command ACTIVATE <*any*> => __VfpUnsupported( <"udc"> ) + +// DEACTIVATE +#command DEACTIVATE <*any*> => __VfpUnsupported( <"udc"> ) + +// DEFINE - UI elements (excludes DEFINE CLASS) +#command DEFINE <*any*> => __VfpUnsupported( <"udc"> ) + +// HIDE +#command HIDE <*any*> => __VfpUnsupported( <"udc"> ) + +// MOVE +#command MOVE <*any*> => __VfpUnsupported( <"udc"> ) + +// POP +#command POP <*any*> => __VfpUnsupported( <"udc"> ) + +// SHOW +#command SHOW <*any*> => __VfpUnsupported( <"udc"> ) + +// SIZE +#command SIZE <*any*> => __VfpUnsupported( <"udc"> ) + +// Individual UI/browser commands +#command BROWSE <*any*> => __VfpUnsupported( <"udc"> ) +#command CHANGE <*any*> => __VfpUnsupported( <"udc"> ) +#command EDIT <*any*> => __VfpUnsupported( <"udc"> ) +#command KEYBOARD <*any*> => __VfpUnsupported( <"udc"> ) +#command MOUSE <*any*> => __VfpUnsupported( <"udc"> ) +#command ZOOM WINDOW <*any*> => __VfpUnsupported( <"udc"> ) +#command READ MENU <*any*> => __VfpUnsupported( <"udc"> ) + +// MENU +#command MENU <*any*> => __VfpUnsupported( <"udc"> ) +#command MENU TO <*any*> => __VfpUnsupported( <"udc"> ) + +// Generic ON commands +#command ON <*any*> => __VfpUnsupported( <"udc"> ) + +// ON EXIT variants (more specific, defined later = tried first) +#command ON EXIT <*any*> => __VfpUnsupported( <"udc"> ) + +// ON SELECTION variants +#command ON SELECTION <*any*> => __VfpUnsupported( <"udc"> ) + +// ON KEY = (must precede generic ON KEY in match order) +#command ON KEY = <*any*> => __VfpUnsupported( <"udc"> ) + +// ON KEY LABEL (most specific = tried first) +#command ON KEY LABEL <*any*> => __VfpUnsupported( <"udc"> ) + +// CLEAR variants not already handled (ALL, MEMORY, SCREEN, EVENTS, RESOURCES are elsewhere) +#command CLEAR <*any*> ; + => __VfpUnsupported( <"udc"> ) + +// RELEASE UI variants (variable RELEASE is handled in memvar.xh) +#command RELEASE <*any*> ; + => __VfpUnsupported( <"udc"> ) + +// DISPLAY variants +#command DISPLAY [] <*any*> ; + => __VfpUnsupported( <"udc"> ) + +#command DISPLAY <*any*> ; + => __VfpUnsupported( <"udc"> ) + +// DISPLAY USERS / LIST USERS +#command DISPLAY USERS <*any*> => __VfpUnsupported( <"udc"> ) + +// LIST variants +#command LIST [] <*any*> ; + => __VfpUnsupported( <"udc"> ) + +#command LIST <*any*> ; + => __VfpUnsupported( <"udc"> ) + +// LIST USERS +#command LIST USERS <*any*> => __VfpUnsupported( <"udc"> ) + +// Plain DISPLAY and LIST (no sub-command) +#command DISPLAY <*any*> => __VfpUnsupported( <"udc"> ) +#command LIST <*any*> => __VfpUnsupported( <"udc"> ) + +// Database misc +#command APPEND <*any*> => __VfpUnsupported( <"udc"> ) +#command BLANK <*any*> => __VfpUnsupported( <"udc"> ) +#command CALCULATE <*any*> => __VfpUnsupported( <"udc"> ) +#command CLOSE <*any*> => __VfpUnsupported( <"udc"> ) +#command COPY <*any*> => __VfpUnsupported( <"udc"> ) +#command DELETE <*any*> => __VfpUnsupported( <"udc"> ) +#command FLUSH <*any*> => __VfpUnsupported( <"udc"> ) +#command FREE TABLE <*any*> => __VfpUnsupported( <"udc"> ) +#command PACK DATABASE <*any*> => __VfpUnsupported( <"udc"> ) +#command REMOVE CLASS <*any*> => __VfpUnsupported( <"udc"> ) +#command RENAME <*any*> => __VfpUnsupported( <"udc"> ) +#command REPLACE FROM ARRAY <*any*> => __VfpUnsupported( <"udc"> ) +#command VALIDATE DATABASE <*any*> => __VfpUnsupported( <"udc"> ) + +// System / legacy +#command CALL <*any*> => __VfpUnsupported( <"udc"> ) +#command DOEVENTS <*any*> => __VfpUnsupported( <"udc"> ) +#command EXPORT <*any*> => __VfpUnsupported( <"udc"> ) +#command GETEXPR <*any*> => __VfpUnsupported( <"udc"> ) +#command HELP <*any*> => __VfpUnsupported( <"udc"> ) +#command IMPORT <*any*> => __VfpUnsupported( <"udc"> ) +#command INPUT <*any*> => __VfpUnsupported( <"udc"> ) +#command LOAD <*any*> => __VfpUnsupported( <"udc"> ) +#command LOGOUT <*any*> => __VfpUnsupported( <"udc"> ) +#command PLAY MACRO <*any*> => __VfpUnsupported( <"udc"> ) +#command POP KEY <*any*> => __VfpUnsupported( <"udc"> ) +#command PUSH KEY <*any*> => __VfpUnsupported( <"udc"> ) +#command REGIONAL <*any*> => __VfpUnsupported( <"udc"> ) +#command RESET <*any*> => __VfpUnsupported( <"udc"> ) +#command RESTORE <*any*> => __VfpUnsupported( <"udc"> ) +#command RUNSCRIPT <*any*> => __VfpUnsupported( <"udc"> ) +#command SAVE <*any*> => __VfpUnsupported( <"udc"> ) +#command SCROLL <*any*> => __VfpUnsupported( <"udc"> ) +#command SUSPEND <*any*> => __VfpUnsupported( <"udc"> ) +#command TYPE <*any*> => __VfpUnsupported( <"udc"> ) + +#command EJECT <*any*> => __VfpUnsupported( <"udc"> ) +#command EJECT PAGE <*any*> => __VfpUnsupported( <"udc"> ) +#command PRINTJOB <*any*> => __VfpUnsupported( <"udc"> ) +#command ENDPRINTJOB <*any*> => __VfpUnsupported( <"udc"> ) #ifndef NOASSERT #command ASSERT [MESSAGE ] ; diff --git a/src/Common/FoxProSet.xh b/src/Common/FoxProSet.xh index 62f944c8f2..f37f8b1a8c 100644 --- a/src/Common/FoxProSet.xh +++ b/src/Common/FoxProSet.xh @@ -122,6 +122,18 @@ #command SET COLOR SET <*any*> => __UNSUPPORTED__ <(udc)> #command SET DATASESSION <*any*> => __UNSUPPORTED__ <(udc)> +// Remaining VFP SET commands — Silent Absorption +#command SET <*any*> => __UNSUPPORTED__ <(udc)> +#command SET <*any*> => __UNSUPPORTED__ <(udc)> +#command SET <*any*> => __UNSUPPORTED__ <(udc)> +#command SET <*any*> => __UNSUPPORTED__ <(udc)> +#command SET <*any*> => __UNSUPPORTED__ <(udc)> +#command SET <*any*> => __UNSUPPORTED__ <(udc)> +#command SET <*any*> => __UNSUPPORTED__ <(udc)> +#command SET <*any*> => __UNSUPPORTED__ <(udc)> +#command SET <*any*> => __UNSUPPORTED__ <(udc)> +#command SET <*any*> => __UNSUPPORTED__ <(udc)> + #endif // EOF diff --git a/src/Runtime/XSharp.VFP/Classes/PropertyContainer.prg b/src/Runtime/XSharp.VFP/Classes/PropertyContainer.prg index 25fc97d717..47d28c5f4f 100644 --- a/src/Runtime/XSharp.VFP/Classes/PropertyContainer.prg +++ b/src/Runtime/XSharp.VFP/Classes/PropertyContainer.prg @@ -150,10 +150,10 @@ class XSharp.VFP.PropertyContainer IMPLEMENTS IEnumerable virtual method NoIvarPut(cName as string, uValue as usual) as void if _Properties:TryGetValue( cName, out var desc) if desc:PropInfo is PropertyInfo var oProp - oProp:SetValue(_Owner, uValue) + oProp:SetValue(_Owner, OOPHelpers.ValueConvert(uValue, oProp:PropertyType)) return elseif desc:PropInfo is FieldInfo var oFld - oFld:SetValue(_Owner, uValue) + oFld:SetValue(_Owner, OOPHelpers.ValueConvert(uValue, oFld:FieldType)) return elseif self:_Values:ContainsKey(cName) self:_Values[cName] := uValue