xsharp.eu • [2.0.2.3] StandardMDI via VOEXporter
Page 1 of 1

[2.0.2.3] StandardMDI via VOEXporter

Posted: Mon Jul 08, 2019 2:12 pm
by FFF
Started VO2838, made a new StandardMDI from template, exported.
Started Xide, VoExporter, selected the above aef, using default params, run
Xide, New project, add application, added above generated .viapp
Compile.
Change four "Font" in Helpabout to "ControlFont", as described in the Samples of X#-help
Compile, 15 warnings left ;)
Run, open DBF - crash
Problemsignatur:
Problemereignisname: APPCRASH
Anwendungsname: StandarVO2838MDI.exe
Anwendungsversion: 0.0.0.0
Anwendungszeitstempel: 5d23496f
Fehlermodulname: KERNELBASE.dll
Fehlermodulversion: 6.3.9600.19358
Fehlermodulzeitstempel: 5ccf981a
Ausnahmecode: c000041d
Ausnahmeoffset: 00013ce8
Betriebsystemversion: 6.3.9600.2.0.0.256.103
Gebietsschema-ID: 1031
Zusatzinformation 1: 0898
Zusatzinformation 2: 0898eab4cc318bee841d9e49de5a9134
Zusatzinformation 3: 4aeb
Zusatzinformation 4: 4aeb760c0e0417161c42d3b0d280b1f1


What did i do wrong?

EDIT: Went back to VO, recompiled, run, opened same DBF, "DBServer Error: Sharing violation", OK, no crash. Stopped, restarted App, tried again, opened another DBF (this time with a CDX) - Error in INIT, ah, ok, forgot to add the RDDSetDefault("DBFCDX"). Did so, recompile, run, now BOTH dbfs open.

Switch back to Xide, add the RDDSetDefault("DBFCDX"), bingo, both open. Comment this line, now the Dbf without index opens, while the CDX one creates an no exported method error, as to expect.
Hopefully, last question: in the templates, "VORDDClasses" are referenced, and it seems, it works, even without adding the XSharp.RDD. Some words of enlightenment would come handy...

Thx for patience
Karl

PS: @Chris: wouldn't you want to remove the RDDSetDefault("DBFNTX") line from the template? AFAIS, it opens a index-less DBF nevertheless, and as there comes no meaningful error, when trying to open a CDX-DBF, one stumbles needlessly...

[2.0.2.3] StandardMDI via VOEXporter

Posted: Mon Jul 08, 2019 2:37 pm
by robert
Karl,
You don't need a reference to the XSharp.RDD assembly,
The X# runtime "knows" about the RDD system and dynamically loads that RDD when you open a file.
It looks for XSharp.RDD in:
- the loaded assemblies
- the GAC
- the current directory
- the current SetPath() and SetDefault() locations

It does the same for XSharp.Macrocompiler.
You can see that mechanism in
https://github.com/X-Sharp/XSharpPublic ... Loader.prg

I recommend to add a try catch to the start function and catch all exceptions there.
The easiest way to display the exception then is to calls ErrorDialog(exception).

Robert

[2.0.2.3] StandardMDI via VOEXporter

Posted: Mon Jul 08, 2019 3:34 pm
by Chris
Hi Karl,

You mean about the app gallery template? The new versions use DBFCDX, not DBFNTX, but you may have some older templates in the folder. I suggest to delete the Gallery folder, then reinstall XIDE so you will get the latest set of gallery files.

[2.0.2.3] StandardMDI via VOEXporter

Posted: Mon Jul 08, 2019 3:59 pm
by FFF
Chris wrote:Hi Karl,

You mean about the app gallery template? The new versions use DBFCDX, not DBFNTX, but you may have some older templates in the folder. I suggest to delete the Gallery folder, then reinstall XIDE so you will get the latest set of gallery files.
Did as suggested, the XSharpStandardMDI - X# runtime.viaef has last changed 13.06.2019 - and contains DBFNTX ;)
Did a compare across the whole Gallery vs. my renamed __Gallery, they are equal, apart from a XSharpStandardSDI .viaef which seems only to be in the old version.

[2.0.2.3] StandardMDI via VOEXporter

Posted: Mon Jul 08, 2019 4:30 pm
by Chris
Hi Karl,

Oops, sorry about that, I must have forgotten to update the script that updates the files for the installer. Will make sure it is good for the next build, thanks!