![]() |
Re: Interface implementieren...
Hallo,
ich danke dir an dieser Stelle schon mal für deine Geduld. Ich habe bereits mehrer Version dieser Klasse ausprobiert. Nur diese will einfach nicht gelingen. Ich kann nicht erkennen, welche Parameter bei meiner Version für den Aufruf von 'VerQueryValue' nicht richtig sind. |
Re: Interface implementieren...
Zitat:
Zitat:
|
Re: Interface implementieren...
Hallo,
der Fehler scheint an folgender Stelle zu sein:
Delphi-Quellcode:
Immerhin scheint der Fehler nun ziehmlich eingegrenzt zu sein...
// z.B. 'CompanyName'
function TmyVersionInfo.GetKey(KeyName: String): String; var InfoLength: UINT; LangCharSet: String; begin if InfoAvailable then begin //SetLength(Result, 255); //Dieser Aufruf ist irgentwie falsch . Hier kommt immer false raus if VerQueryValue(myVersionInfo,PChar(KeyName),Pointer(result), InfoLength) then begin SetString(Result,PChar(Result),InfoLength-1); end else begin result:='' end; end else begin result:= 'N/A'; end; end; |
Re: Interface implementieren...
Zitat:
|
Re: Interface implementieren...
Hallo NicoDE,
ich weiß nicht wie du darauf kommst? Der Fehler liegt definitiv im Aufruf der genannten Funktion, da diese immer false zurückliefert. Die Zugriffsmethoden sind bis dahin noch nicht im Spiel. Aber vielleicht komme ich da ja noch hin ;) |
Re: Interface implementieren...
Zitat:
|
Re: Interface implementieren...
Hi,
axo. Ich habe mich schon selber etwas 'verlaufen'. Und für mein Problem habe ich immer noch keine Lösung :( |
Re: Interface implementieren...
Hallo,
ich bekomme bei der Variante von MathiasSimmack einen EAccessViolation-Error, Zitat:
Delphi-Quellcode:
Warum ist der Zeiger = nil :gruebel:
function TVersionInfo.FormatVersionNumber: string;
const FormatStr = '%d.%d.%d.%d'; begin Result := Format(FormatStr, [(FInfo^.dwFileVersionMS and $FFFF0000) shr 16, FInfo^.dwFileVersionMS and $0000FFFF, (FInfo^.dwFileVersionLS and $FFFF0000) shr 16, FInfo^.dwFileVersionLS and $0000FFFF]); end; Kann mir jemand helfen ? gruss |
Re: Interface implementieren...
Hallo,
ich hab mir jetzt nicht alles durchgelesen (habe nur gesehen, dass du auf seite 2 des threads noch keine lösung hast...), von daher bitte ich um verzeihung falls das problem bereits gelöst ist. ich halte u. a. das hier für den grund des scheiterns:
Delphi-Quellcode:
müsste so lauten:
procedure SetVersionInfo(const Index: Integer; const Value: String);
... property StandardKeys[index: Integer]: String read GetVersionInfo write SetVersionInfo;
Delphi-Quellcode:
ohne die const deklaration müsste es gehen, denke ich.
procedure SetVersionInfo(Index: Integer; const Value: String);
... property StandardKeys[index: Integer]: String read GetVersionInfo write SetVersionInfo; mfg -dh |
Re: Interface implementieren...
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:28 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