Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi FileOpen (https://www.delphipraxis.net/189859-fileopen.html)

zeras 31. Jul 2016 17:28

FileOpen
 
Hallo,

ich migriere gerade ein D2009 Programm nach Seattle.
Das klappt soweit ganz gut, nur macht mir die Funktion FileOpen Probleme.
Beim Aufruf kommt es zur Meldung "Fehler bei Bereichsprüfung".
Kann es sein, dass es damit Probleme gibt, wenn ich als Windows 7/64 habe, es aber als Win32 Programm kompiliere?
Ich habe nur gesehen, dass sich das Ergebnis von FileOpen von Integer nach THandle geändert hat. Wenn ich die Deklaration von THandle anschaue, kommt
Delphi-Quellcode:
THandle = NativeUInt
.

himitsu 31. Jul 2016 17:58

AW: FileOpen
 
Wie ist deine Variable definiert, an die du das Ergebnis von FileOpen übergibst?

Und du hast bestimmt dein Programm mit aktiver Bereichsprüfung (Projektoptionen oder Compilerschalter) kompiliert ... wenn ja, dann ist es natürlich koreekt, wenn dich dein Programm darauf hinweist, wenn das Result von FileOpen nicht in deinen alten Integer passt. :stupid:


FileOpen ist eine eher "veraltete" Delphi-API und da gibt es schon seit vielen, vielen, vielen, vielen, vielen, vielen, wirklich sehr vielen Jahren aktuellere Lösungen (z.B. Streams).
Und dank Win64 war dessen alter Resulttyp (Integer) falsch, da man sich überlegt hat, den Integer auf 32-Bit einzufrieren und nicht auf 64-Bit wachsen zu lassen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:19 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