Einzelnen Beitrag anzeigen

TomyN

Registriert seit: 8. Nov 2006
Ort: Bayreuth
149 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Access Violation - Interface win 32 - win 64

  Alt 16. Apr 2021, 14:59
Hi,

Es wird immer seltsamer .....

Code:
 
 //dl:= IA4APrivate.iA4APrivateGetVersion;
 dl:= $12345678;
 versionString:= IntToHex(hiWord(dl),4) + '.' + IntToHex(loWord(dl), 4);
Funktioniert wunderbar, inkl. Abruf des Resultats über GetVersionString.
Auch der Originalcode liefert intern den richtigen String ab. Die AV kommt erst beim Aufruf von GetVersionString.

Code:
type TA4APrivate = Class (TObject)
  Private
    IA4APrivate: A4APrivateDeclaration.IA4APRIVATE;
    versionString: String;
    function InterfaceOk: boolean;
    function IsResultOk(const lastResult: dWord): boolean;
  Public
    constructor Create;
    Destructor Destroy; override;
    Function InitInterface(const asioInterface: Asio.IAsio): boolean;
    Function GetVersionString:string;
end;

implementation
Uses sysUtils, activeX;

....

Function TA4APrivate.GetVersionString: string;
begin
  result:= versionString;
end;
Thomas Neumann
Meine Projekte
www.satlive.audio
www.levelcheck.de

Geändert von TomyN (16. Apr 2021 um 15:08 Uhr)
  Mit Zitat antworten Zitat