![]() |
Fehler bei Headerübersetzung?
Ist das tatsächlich falsch übersetzt oder wie ist das?
Zitat:
Zitat:
Delphi-Quellcode:
PHKEY = ^HKEY;
|
Re: Fehler bei Headerübersetzung?
Ich glaub ich bin jetzt drauf gekommmen:
Das var in der Delphi übersetzung macht aus dem HKEY ein PHKEY, damit es als Variable und nicht nur als Konstante weitergegeben werden kann. |
Re: Fehler bei Headerübersetzung?
Nein, var bedeutet, du musst zwingend eine Variable benutzen. In dem Fall macht das auch Sinn, weil du das Handle des geöffneten Registryschlüssels zurückbekommst und damit dann weiter arbeiten kannst:
Delphi-Quellcode:
Bei der Originaldeklaration von Microsoft übergibst du die Variable "regKey" in dem Fall nicht als HKEY-Variable, sondern als Zeiger (deswegen ja auch PHKEY). Theoretisch könntest du daher auch nil angeben, nur wird das in dem speziellen Fall wohl keiner machen. ;)
if(RegConnectRegistry('\\Computername',HKEY_LOCAL_MACHINE,
regKey) = ERROR_SUCCESS) then try // wenn du Glück hast, kannst du nun hier // über das "regKey"-Handle Werte auslesen, // usw. finally RegCloseKey(regKey); end; Aber es gäbe andere Beispiele, in denen ein Zeiger durchaus sinnvoller ist. |
Re: Fehler bei Headerübersetzung?
Zitat:
Zitat:
|
Re: Fehler bei Headerübersetzung?
Moin Zusammen,
Zitat:
Durch die Verwendung von var Parametern an solchen Stellen, kommen dann ja auch diese "netten" Eigenarten zu Stande, dass man sich Funktionen noch einmal selbst importieren muss, wenn man sie wie vorgesehen benutzen will, z.B. ExtractIconEx. In dem Falle gibt es sogar einen FAQ Artikel bei Borland, der das entsprechend vorsieht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:42 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