C# und X509Certificate2

Deutschsprachiges X#-Forum – German language forum

Moderator: wriedmann

lagraf
Posts: 530
Joined: Thu Jan 18, 2018 9:03 am
Location: A

Re: C# und X509Certificate2

Post by lagraf »

Hallo,
ich versuche nun diese funktionierende C# App mit ILSpy + X#Plugin nach X# zu übertragen.
Dabei bekomme ich folgende C# Passage

Code: Select all

int choice;
if (int.TryParse(line, out choice) && (choice >= 0) && (choice <= readerNames.Length))
übersetzt mit

Code: Select all

LOCAL choice AS INT
IF ((int.TryParse(line, OUT choice )) .AND. (choice >= 0)) .AND. (choice <= readerNames:Length)
was folgenden Fehler beim Compilieren liefert

Code: Select all

error XS0103: The name 'int' does not exist in the current context	125,8	Program.prg	Program:ChooseReader
Entferne ich das int von int.TryParse erhalte ich den Fehler

Code: Select all

error XS0103: The name 'TryParse' does not exist in the current context	125,8	Program.prg	Program:ChooseReader
Was ist daran falsch?
LG
User avatar
wriedmann
Posts: 4079
Joined: Mon Nov 02, 2015 5:07 pm
Location: Italy

Re: C# und X509Certificate2

Post by wriedmann »

Hallo Franz,
probier int32.TryParse()
Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
lagraf
Posts: 530
Joined: Thu Jan 18, 2018 9:03 am
Location: A

Re: C# und X509Certificate2

Post by lagraf »

Hallo Wolfgang,
hat der Compiler erstmal akzeptiert.
Nachdem ich nun alle von C# nach X# falsch übernommenen Statements ausgebessert habe, werde ich die App nun durchtesten.
Danke, Franz
lagraf
Posts: 530
Joined: Thu Jan 18, 2018 9:03 am
Location: A

Re: C# und X509Certificate2

Post by lagraf »

ILSpy hat mir den Code der C# App wie folgt übersetzt:
Ich habe ein Hauptprogramm im File program.prg

Code: Select all

INTERNAL CLASS Program
PRIVATE STATIC METHOD Main() AS VOID
...
und eine Klasse im File AbstractCashRegisterSmartCard.prg

Code: Select all

INTERNAL ABSTRACT CLASS AbstractCashRegisterSmardCard IMPLEMENTS ICashRegisterSmartCard
...
Beim Compilieren kommt folgender Fehler bei AbstractCashRegisterSmartCard:

Code: Select all

error XS1558: 'Functions' does not have a suitable static 'Start' function	2,1	AbstractCashRegisterSmardCard.prg
Was sagt dieser Fehler aus?
LG
User avatar
wriedmann
Posts: 4079
Joined: Mon Nov 02, 2015 5:07 pm
Location: Italy

Re: C# und X509Certificate2

Post by wriedmann »

Hallo Franz,
in X# ist das anders zu verwenden:

Code: Select all

[STAThreadAttribute];
function Start( asCmdLine as string[] ) as int
	local nExitCode as int

	// Dein Appliktionscode - wahrscheinlich Aufruf Hauptfenster	

return nExitCode
Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
lagraf
Posts: 530
Joined: Thu Jan 18, 2018 9:03 am
Location: A

Re: C# und X509Certificate2

Post by lagraf »

Hallo Wolfgang,
komisch, ich habe eine ähnliche X# App und da schaut program.prg genauso aus, trotzdem funktioniert diese App:

Code: Select all

INTERNAL CLASS Program
PRIVATE STATIC METHOD Start() AS VOID
An Start() oder Main() sollte es nicht liegen, habe ich schon probiert.
Unterschied ist nur, dass die funktionierende App nur 1 Klasse Program mit 1 Methode Start() in program.prg hat, die nicht funktionierende hat noch einige zusätzliche Methoden in program.prg und Files mit weiteren Klassen.
LG Franz
lagraf
Posts: 530
Joined: Thu Jan 18, 2018 9:03 am
Location: A

Re: C# und X509Certificate2

Post by lagraf »

Ich habe die X# App auf die FUNCTION Start() umgebaut und starte die Klasse Program daraus.
Damit läuft die X# App jetzt.
Post Reply