Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Function -> Kann sich der Result Typ ändern? (https://www.delphipraxis.net/210033-function-kann-sich-der-result-typ-aendern.html)

Metschu 19. Feb 2022 15:05

Function -> Kann sich der Result Typ ändern?
 
Hallo zusammen,

ich habe ein kleines Problem innerhalb einer Function. Beim Zuweisen des Results bekomme ich eine Fehlermeldung "Zugriffsverletzung beim Schreiben in Adresse 0000000"

Folgender (vereinfachter) Aufbau der Funktion:

Delphi-Quellcode:
Function tUSB_Kom.HWinfo:String;

begin

 result:='Hallo'; // <- in Ordnung

 fCode:=initHardWare(modul,$FF,NIL,bool);

 result:='Hallo'; // <- in Ordnung

 if fCode = 0 
  then begin;
 
   result:='Hallo'; // <- in Ordnung

   fCode:=HardWareInfo(modul,hwi,chi[1],chi[2]);

   result:='Hallo'; // <- Zugriffsverletzung !!

 end;
end;

Was läuft denn hier schief?

Danke und Gruß

Torsten

Bernhard Geyer 19. Feb 2022 15:52

AW: Function -> Kann sich der Result Typ ändern?
 
Mein Tipp ist das du die Aufrufkonvention (https://de.wikipedia.org/wiki/Aufrufkonvention) von initHardWare falsch deklarierst hast.
Damit zerstört der Rücksprung deinen Stack.

Metschu 20. Feb 2022 12:49

AW: Function -> Kann sich der Result Typ ändern?
 
Der Fehler lag in der Vergessen Initialisierung von Variablen mit "FillChar" (In der Docu auf C habe ich das "MemSet" übersehen :roll:)

Danke für den Tip.

Gruß

Torsten


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:33 Uhr.

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