Autor Beitrag
Mathematiker Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: So 28.08.16 17:46 
Hallo,
user profile iconDelphi-Laie hat folgendes geschrieben Zum zitierten Posting springen:
1. 32- oder 64-Bit-Compilat?

Die Delphi 10.1 Starter-Version produziert nur 32bit-Programme.
user profile iconDelphi-Laie hat folgendes geschrieben Zum zitierten Posting springen:
2. Schon mit Debuggen versucht?

Genau das habe ich gemacht. Deshalb habe ich ja das RET als Fehlerstelle gefunden.

Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Delphi-Laie
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1600
Erhaltene Danke: 232


Delphi 2 - RAD-Studio 10.1 Berlin
BeitragVerfasst: So 28.08.16 17:59 
Ich kann da auch nur vermuten und täte an Deiner Stelle z.B. probieren: Muß das "ret ..." nicht in eine Zeile geschrieben werden? Er mosert das ret an einer Stelle an, an der ich an des Computers Stelle auch nicht wüßte, wohon ich returnieren sollte....
Mathematiker Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: So 28.08.16 19:50 
Hallo,
ich habe das Ende der ASM-Routine in
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
         cmp eax, 0         //Test auf Null
         jz @null
         jmp @exit
         @null: mov eax, 1
         @exit:
geändert und schon kommt keine Fehlermeldung mehr. Warum es jetzt geht? Ich weiß es nicht.
Allerdings macht jetzt scanline Ärger. Scheinbar ist dieses Projekt nicht so einfach auf Delphi 10.1 zu transformieren.

Beste Grüße
Mathematiker

Nachtrag: Ich habe es hinbekommen. Im Anhang die Exe und der Quelltext, der unter 10.1 funktioniert.
Einloggen, um Attachments anzusehen!
_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Delphi-Laie
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1600
Erhaltene Danke: 232


Delphi 2 - RAD-Studio 10.1 Berlin
BeitragVerfasst: So 28.08.16 21:19 
user profile iconMathematiker hat folgendes geschrieben Zum zitierten Posting springen:
Nachtrag: Ich habe es hinbekommen. Im Anhang die Exe und der Quelltext, der unter 10.1 funktioniert.


An der genannten Assemblerfunktion scheint es nicht zu liegen, denn deren letzte Zeilen sind immer noch so, wie von Dir veröffentlicht.

Welcher Spürsinn ließ Dich denn womit erfolgreich sein?
Mathematiker Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: So 28.08.16 21:40 
Hallo,
user profile iconDelphi-Laie hat folgendes geschrieben Zum zitierten Posting springen:
An der genannten Assemblerfunktion scheint es nicht zu liegen, denn deren letzte Zeilen sind immer noch so, wie von Dir veröffentlicht.

Nicht ganz. Das Return habe ich herausgeworfen und springe nun an das Ende der Assemblerroutine.
Ich weiß nicht, warum ich es probiert habe, aber ich hatte irgendwie das "Gefühl", dass ein RET mitten in der Befehlsfolge nicht richtig ist.
Kurz gesagt: Versuch und Irrtum.

Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Delphi-Laie
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1600
Erhaltene Danke: 232


Delphi 2 - RAD-Studio 10.1 Berlin
BeitragVerfasst: So 28.08.16 21:50 
Ach so, ich verglich es mit Deiner letzten Veröffentlichung und konnte keine Abweichung entdecken. Evtl. hast Du mit dem Edit nicht nur den Nachtrag veröffentlicht, sondern auch den Quelltext entsprechend angepaßt.

Das nackte "ret" in einer Zeile gefiel mir ja von Anfang an nicht.

So, wie Du es anscheinend tatest, mit Versuchen und Irrtümern, programmiere auch ich oft genug...

Ergänzung: Die Exe-Dateigröße ist wirklich abenteuerlich. Anscheinend und leider wurde das Problem der wachsenden Compilatsgrößen leider nie ernsthaft angegangen.
mandras
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 429
Erhaltene Danke: 107

Win 10
Delphi 6 Prof, Delphi 10.4 Prof
BeitragVerfasst: So 28.08.16 23:37 
Guten abend :)

Ich hab grad kein neueres Delphi zur Hand, für mich sieht es aber wie folgt aus:

Die Funktion ist ohne begin/end definiert.
Neuere Delphis entscheiden dann ob sie die als echte Funktion oder als inline-Code erzeugen.
Wenn es inline-code ist kann / darf! darin kein RET stehen, da der Code der Funktion
ja nicht mittels CALL aufgerufen wurde.

Für diesen Beitrag haben gedankt: Mathematiker