AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Pointer aus SendMessage nicht dereferenzierbar?

Ein Thema von erik-17 · begonnen am 30. Aug 2011 · letzter Beitrag vom 31. Aug 2011
 
erik-17

Registriert seit: 8. Apr 2010
51 Beiträge
 
Delphi 3 Professional
 
#1

Pointer aus SendMessage nicht dereferenzierbar?

  Alt 30. Aug 2011, 21:03
Delphi-Version: 5
Guten Abend

Ich versuche momentan einen Pointer, der auf einen Record zeigt, mithilfe von SendMessage/PostMessagen von einem Thread an die Main-Unit zu senden. Getestet ist es noch nicht, weil der Thread noch nicht vernünftig mit der Main-Unit läuft (bin da noch am programmieren). Wenn ich jetzt die Ereignisbearbeitungs-Methode (für die Message) schreiben will, dann möchte ich den Pointer ja dereferenzieren, damit ich an die Werte des Records rankomme.
Der Compiler spuckt mir immer Fehler aus...:

Delphi-Quellcode:
//Mein Record: (Sowohl im Thread als auch im Main bekannt)
TimeBinar = record
         Stunden : array[1..5] of boolean;
         Minuten : array[1..6] of boolean;
         Sekunden : array[1..6] of boolean;
end;

//Das Senden...
PostMessage(Form1.Handle,WM_TIME_ANNOUNCING,1,Integer(@PTimeBinar));
PostMessage(Form1.Handle,WM_TIME_ANNOUNCING,1,Integer(PTimeBinar)); //ohne "@" -> "Ungültige Typumwandlung"

//... und das Empfangen:
procedure TForm1.OnTimeAnnounce(var Msg: TMessage);
var p : TimeBinar;
begin
case Msg.WParam of
1 : begin
         p := TimeBinar(Msg.LParam^); //Zeigertyp erwartet
         p := TimeBinar(Msg.LParam); //Ungültige Typumwandlung
         p := Msg.LParam^; //Zeigertyp erwartet
         p := Msg.LParam; //Inkompatible Typen "TimeBinar" und "Integer"
...
Mach ich das soweit erstmal richtig (bin auf dem Gebiet noch Anfänger) oder muss man das ganz anders machen? Und wie komm ich schlussendlich an das Record ran?

Danke im voraus und guten Abend noch
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:53 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 by Thomas Breitkreuz