Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Ärger in Athen (https://www.delphipraxis.net/215503-aerger-athen.html)

TomyN 16. Jul 2024 11:45

Ärger in Athen
 
Hallo,

nun habe ich mich durchgerungen, Geld in die Hand zu nehmen und von 10.3 (Rio) auf die aktuelle Delphi Version (Athens) upzugraden.
Wie zu befürchten war, läuft natürlich nicht alles glatt.
Vielleicht hab ich auch nur eine Option nicht aktiviert o.ä, daher hier mal meine Liste:

- Von mir installierte Komponenten, zum Beispiel Graphics32, stehen nur für die Zielplattform win32 zur Verfügung. Wenn ich dann auf win64 umschalte, kann ich die Komponenten, die in der Form sind, bearbeiten und sogar kopieren. Das ganze kompiliert auch. Erst habe ich versucht, die Designpackage in win64 zu compilieren, was (wie ich jetzt weiß verständlicherweise fehlgeschlagen is). Die 'Funktionspagage' lässt sich für win64 kompilieren.

- Manche windows API Funktionen wie SetWindowPlacement zicken plötzlich (und gefühlt nicht immer), wobei die Fehlermeldung nahelegt, dass SizeOf(datenFuerFunction) einen falschen Wert liefert. Das ganze passiert meist mit dem Ziel win64 aber auch manchmal bei win32. Vermutlich erzeugt er manchen Dinge nicht neu, wenn man die Zielplatform wechselt.

- In DPCcrypt bekomme ich bei win64 Fehlermeldungen (ungültiger Index, zuwenig Speicher ..... ) und es funktioniert nicht so wie in Rio :-(

Über jeden Tip würde ich mich freuen

Tomy

Rollo62 16. Jul 2024 12:04

AW: Ärger in Athen
 
G32: Vielleicht hat das was damit zu tun?
https://www.delphipraxis.net/215048-...lphi-12-a.html
Aber Du schreibst ja, dass es bei Dir im Prinzip kompiliert, was genau ist denn der Fehler?

TomyN 16. Jul 2024 12:18

AW: Ärger in Athen
 
Ich kann (bzw. konnte), wenn als Zielplattform win64 eintestellt ist, keine Komponente aus der Komponentenliste (re unten) auf die Form ziehen. Der Hint zeigte als unterstützes Ziel auch immer nur win32 an.
Nach einem Löschen der DCUs für win32, Deinstallation der Komponenten und einem neuen Build von Runtime und Designtime unter win32 stehen die Komponenten nun wieder für beide Zielversionen zur Verfügung.

jaenicke 16. Jul 2024 12:21

AW: Ärger in Athen
 
Zitat:

Zitat von TomyN (Beitrag 1538926)
- Manche windows API Funktionen wie SetWindowPlacement zicken plötzlich (und gefühlt nicht immer), wobei die Fehlermeldung nahelegt, dass SizeOf(datenFuerFunction) einen falschen Wert liefert. Das ganze passiert meist mit dem Ziel win64 aber auch manchmal bei win32. Vermutlich erzeugt er manchen Dinge nicht neu, wenn man die Zielplatform wechselt.

Das kann nicht sein, da das Unitformat nicht übereinstimmt. Der 64-Bit Linker könnte mit 32-Bit Kompilaten nichts anfangen und umgekehrt. Davon abgesehen sollte z.B. das Ausgabeverzeichnis für DCUs natürlich auf jeden Fall die Plattform enthalten.

Zitat:

Zitat von TomyN (Beitrag 1538926)
- In DPCcrypt bekomme ich bei win64 Fehlermeldungen (ungültiger Index, zuwenig Speicher ..... ) und es funktioniert nicht so wie in Rio :-(

Leider liegt das oft daran, dass ein Bug lediglich vorher keine Folgeeffekte hatte. Wenn sich dann durch einen neuen Compiler etwas am Layout im Speicher ändert, knallt es dann ggf., obwohl sich am Quelltext nichts geändert hat.

Da bleibt nur, genau zu schauen, wo das konkrete Problem auftritt und was da schief sein kann.

Aber natürlich kann es auch eine Änderung oder ein Bug im Compiler sein. Ohne Details zum Fehler lässt sich dazu aber nichts sagen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz