xsharp.eu • VO -> X# mit GA2
Page 1 of 2

VO -> X# mit GA2

Posted: Sun Aug 25, 2019 10:10 am
by Frank Müßner
Hallo zusammen,
jetzt wo die vorerst finale Version von X# draußen ist soll jetzt endlich der Transport erfolgen. Der 3. Anlauf :-)
Das es eine kurze Reise wird, davon hab ich mich schon verabschiedet. Mein Ansatz ist das der Code in VO zuerst soweit wie möglich angepasst wird, weil ich vermute das der Transport häufiger erfolgen wird. Die VO Version muss in der Zeit weiter gepflegt werden.

Der Ansatz von Wolfgang mit der Definition:
#ifndef __XSHARP__
X# Code
#else
VO Code
#endif
ist wohl die Lösung.

Dabei meine erste Frage,
wie kann ich in VO und X# festlegen das keine Fehlermeldung beim compilieren kommt?
Beispiel:
FUNCTION GetGUID() as STRING
LOCAL cGuid as STRING

#ifndef __XSHARP__
cGuid:=System.NewGuid() -> VO Fehler: 51132 unknown variable SYSTEM
#else
cGuid:=NewGUID() -> X# Fehler XS0103 NewGuid does not exist..
#endif
Return cGuid


Weiter eine Frage zu den Menüs.
Nach dem Transport müssen die Menüs einmal in XS geöffnet werden und gespeichert damit die Defines neu geschrieben werden. Gibt es da eine andere Einstellung?


Habt ihr da einen Tip?
Frank

VO -> X# mit GA2

Posted: Sun Aug 25, 2019 11:26 am
by lumberjack
Hi Frank,

Is this not the feature that is now implemented in the XPorter that you are looking for?

Code: Select all

// VXP-COM : comments the line when exporting it
// VXP-UNC : uncomments the line
// VXP-DEL : deletes the line contents
example:
// METHOD ThisMethodDoesNotGetDefinedInVOcode() // VXP-UNC
// RETURN NIL // VXP-UNC

VO -> X# mit GA2

Posted: Sun Aug 25, 2019 12:30 pm
by Chris
Hi Frank,

With #ifndef __XSHARP__ , you tell the compiler (parser) to NOT include the following code when compiling in X#. Use #ifdef __XSHARP__ to tell it to compile it ONLY in X#.

About menus, can you please explain more? Why do you need to save the menu in the designer first? What does it do different regrding the DEFINEs compared to the original DEFINEs created by the VOXporter?

VO -> X# mit GA2

Posted: Sun Aug 25, 2019 3:43 pm
by wriedmann
Hallo Frank,

Code: Select all

FUNCTION GetGUID() as STRING
LOCAL cGuid as STRING

#ifdef __XSHARP__
cGuid:=System.NewGuid() 
#else
cGuid:=NewGUID()
#endif
Return cGuid
Also andersrum.
Wenn __XSHARP__ definiert ist (bei VO nicht), dann sollte der X#-Code stehen, und im #else dann der VO-Code.

Der VO-Compiler sieht den ersten Teil (also nach dem #ifdef) nicht, der X#Compiler den zweiten Teil (also nach dem #else).

Wolfgang

VO -> X# mit GA2

Posted: Mon Aug 26, 2019 6:10 am
by Karl-Heinz
Kleine Korrektur bzgl. Erstellung einer GUID mit X# ;-)

cGuid := System.Guid.NewGuid():ToString()

oder

cGuid := System.Guid.NewGuid().ToString()

Gruß
Karl-Heinz

VO -> X# mit GA2

Posted: Mon Aug 26, 2019 6:17 am
by Frank Müßner
Guten Morgen,

vielen Dank für die Hilfe. Ich hab es nicht gesehen mit if(n)def , wohl überarbeitet. :-(

@Karl-Heinz Schon geändert :-)

@Chris, i will make a new sample transport an send a sample to you.

Grüße Frank

VO -> X# mit GA2

Posted: Mon Aug 26, 2019 7:00 am
by Frank Müßner
Hi Chris,
Problem the German Umlaute.
Code after transport:

Code: Select all

#define IDM_KDSUCHMENUE_Spalten_zusätzlich_anzeigen_Zusatzbezeichung_ID 16861
#define IDM_KDSUCHMENUE_Spalten_zusätzlich_anzeigen_Infofeld_12_ID 16862
#define IDM_KDSUCHMENUE_Spalten_zusätzlich_anzeigen_Spaltenpositionen_auf_Standardwerte_setzen_ID 16863
 KDSUCHMENUE MENU
Begin
	POPUP "Spalten zusätzlich anzeigen"
	BEGIN
		MENUITEM "Zusatzbezeichung", IDM_KDSUCHMENUE_Spalten_zusätzlich_anzeigen_Zusatzbezeichung_ID
		MENUITEM "Infofeld 12", IDM_KDSUCHMENUE_Spalten_zusätzlich_anzeigen_Infofeld_12_ID
		MENUITEM "Spaltenpositionen auf Standardwerte setzen", IDM_KDSUCHMENUE_Spalten_zusätzlich_anzeigen_Spaltenpositionen_auf_Standardwerte_setzen_ID
	END
End
Error:

Code: Select all

Fehler	RC2008	'õ' : unexpected in macro definition	....W_Sons_Menus.KDSUCHMENUE.rc	1
After once open the Menue Designer:

Code: Select all

//------------------------------------------------------------------------------
//  <auto-generated>
//     This code was generated by a tool.
//     Runtime version: 4.0.30319.42000
//     Generator      : XSharp.MenuEditor 2.0.0.0
//     Timestamp      : 26.08.2019 08:52:46
//     
//     Changes to this file may cause incorrect behavior and may be lost if
//     the code is regenerated.
//  </auto-generated>
//------------------------------------------------------------------------------

#define IDM_KDSUCHMENUE_Spalten_zusatzlich_anzeigen_ID 19500
#define IDM_KDSUCHMENUE_Spalten_zusatzlich_anzeigen_Zusatzbezeichung_ID 19501
#define IDM_KDSUCHMENUE_Spalten_zusatzlich_anzeigen_Infofeld_12_ID 19502
#define IDM_KDSUCHMENUE_Spalten_zusatzlich_anzeigen_Spaltenpositionen_auf_Standardwerte_setzen_ID 19503
KDSUCHMENUE MENU
BEGIN
	POPUP "Spalten zusätzlich anzeigen"
	BEGIN
		MENUITEM "Zusatzbezeichung" , IDM_KDSUCHMENUE_Spalten_zusatzlich_anzeigen_Zusatzbezeichung_ID
		MENUITEM "Infofeld 12" , IDM_KDSUCHMENUE_Spalten_zusatzlich_anzeigen_Infofeld_12_ID
		MENUITEM "Spaltenpositionen auf Standardwerte setzen" , IDM_KDSUCHMENUE_Spalten_zusatzlich_anzeigen_Spaltenpositionen_auf_Standardwerte_setzen_ID
	END
END
Not a big Problem when i Replace the Menu Folder after new Transporting.

Regards, Frank

VO -> X# mit GA2

Posted: Mon Aug 26, 2019 7:30 am
by Frank Müßner
Hi Chris,
other found with Menu:

VO Code:

Code: Select all

MENUITEM "Auswertungen (Charts)", IDM_EMPTYSHELLMENU_Auswertungen__Auswertungen_Charts_ID
Define IDM_EMPTYSHELLMENU_Auswertungen__Auswertungen_Charts_ID := 9982
After Transport:

Code: Select all

Define IDM_EMPTYSHELLMENU_Auswertungen__Auswertungen_Charts_ID := 9982
After one touch with designer:

Code: Select all

#define IDM_EMPTYSHELLMENU_Auswertungen_Auswertungen__Charts__ID 20532
Note the change of '__'

Frank

VO -> X# mit GA2

Posted: Mon Aug 26, 2019 12:56 pm
by Chris
HI Frank,

Ah, I was not aware of those issues, thanks, I will have a look. Will tell you if I need a sample to reproduce them.

VO -> X# mit GA2

Posted: Mon Aug 26, 2019 1:39 pm
by Frank Müßner
Hi Chris,
OK, tell me if you need a sample.
Frank