Most important is that for Sys(16), VFP returns the fullpath of the current executing code in the form of
C:\test\..\..\..\whatever.ext
In X#, it currently returns:
PROCEDURE C:\test\..\..\..\whatever.prg
The extension is not important, but VFP apps commonly use this function call to get the app path (and then set data, reports etc paths based on it), so the "PROCEDURE" (or anything else) part in the returned string from X# causes this to fail. It needs to return also in X# just a full path in the returned string and nothing else.
Also there are some unimplemented Sys() values that could be supported, like
Sys(2) // seconds since midnight
Sys(10,date)// String from julian number
Sys(2012) // memo field block size
etc, although those are not as important as Sys(16)
Most important is that for Sys(16), VFP returns the fullpath of the current executing code in the form of
C:\test\..\..\..\whatever.extIn X#, it currently returns:
PROCEDURE C:\test\..\..\..\whatever.prgThe extension is not important, but VFP apps commonly use this function call to get the app path (and then set data, reports etc paths based on it), so the "PROCEDURE" (or anything else) part in the returned string from X# causes this to fail. It needs to return also in X# just a full path in the returned string and nothing else.
Also there are some unimplemented Sys() values that could be supported, like
Sys(2) // seconds since midnight
Sys(10,date)// String from julian number
Sys(2012) // memo field block size
etc, although those are not as important as Sys(16)