Hey! Bin das allererste mal dabei in Delphi einen Treiber zu programmieren. Die Exports wurden dabei von der Softwareherstellerfirma vorgegeben. Und bei dieser Funktion beginnen meine Probleme: function Registrierung(b: PChar): word stdcall; Hier möchte ich acht Datenbytes an die Stelle im Ram schreiben(Oder besser gesagt AB der Stelle), die mir durch das Programm in "b" übergeben wurden. Leider habe ich es bisher immer nur geschafft, die Adresse im Zeiger mit meinem Wert zu überschreiben. Aber das ist ja nicht gerade das was ich wollte. Den Rückgabewert selber konnte ich verarbeiten. Habe nur das Problem mit dem Zeiger Danke Schonmal für eure Hilfe
Der Zeiger ist ja eben die Adresse, d.h. er enthält die Adresse einer Variablen (in Deinem Fall Char). Um auf die Variable selber zuzugreifen, musst Du den Zeiger dereferenzieren. In Pascal geht das so (wenn ich mich richtig erinnere): Var DeinWert : Char; .. .. b^ := DeinWert; Um auf die weiteren Speicherstellen zuzugreifen, musst du den Zeiger inkrementieren.
Danke! Das @ vor einer Variable um die Adresse statt den Wert zu bekommen hatte ich schon gekannt. Aber den ^ kannte ich noch nicht. War genau das was ich gebraucht habe
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.