mikrocontroller.net

Forum: PC-Programmierung Zeigerprobleme bei DLL Programmierung


Autor: Marcel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Severino R. (severino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Marcel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.