AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Programm über SendMessage kontrollieren
Thema durchsuchen
Ansicht
Themen-Optionen

Programm über SendMessage kontrollieren

Ein Thema von Hybrid666 · begonnen am 4. Feb 2007 · letzter Beitrag vom 5. Sep 2007
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#21

Re: Programm über SendMessage kontrollieren

  Alt 12. Mär 2007, 15:37
Nö siehst du falsch.
Sollte alles in s vorliegen. Überprüfe es doch einfach mal.

Ich übergebe ja nur den pointer auf das erste Zeichen und er kopiert dann msg.lparam zeichen an diese Adresse. Aber hintereinander. Und mit setlength(s,..) hab ich genügend speicherplatz reserviert.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Scorpion

Registriert seit: 3. Nov 2002
Ort: Flörsheim
154 Beiträge
 
Delphi 5 Professional
 
#22

Re: Programm über SendMessage kontrollieren

  Alt 12. Mär 2007, 17:11
Hi, ok, jetzt hab ichs auch... ich hab nur noch ein riesen problem, das habe ich jetzt erst bemerkt

in der funktion, wo ich die daten empfange...

angenommen, ich habe die daten die ich empfangen habe in einen string kopiert, z.b. data : String;

wenn ich jetzt versuche mit diesem string weiterzuarbeiten geht garnichts mehr.

ich versuche lediglich folgenden code anzuwenden:

showmessage(Data + '...'); doch anstatt den ... sehe ich nur leerzeichen, ich hab keine peilung warum ???
Gruß Nico
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#23

Re: Programm über SendMessage kontrollieren

  Alt 12. Mär 2007, 17:28
Entschuldige PChar und String auf die harte Tour zu verainbaren ist nicht so einfach:
Delphi-Quellcode:
procedure xxx.receive(var msg:TMessage);
var s:string;
begin
  setlength(s,msg.lparam+1);
  l:=globalgetatomname(msg.wparam,@s[1],msg.lparam+1);
  setlength(s,msg.lparam);

end;
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#24

Re: Programm über SendMessage kontrollieren

  Alt 5. Sep 2007, 12:19
Da ich gerade dabei bin das ganze hier nachzuvollziehen aber immer wieder scheitere, weil im empfangenden Programm nichts ankommt, frage ich mich nun ernsthaft wodurch denn die Recieve-procedure aufgerufen oder ausgelöst werden soll.

Ich habe mal die durch xxx angegebenen namen durch meine ersetzt. ich hoffe es liegt nicht daran...

Delphi-Quellcode:
  public
    { Public-Deklarationen }
    procedure Receive(var msg:TMessage);message wm_user+10;
  end;

procedure TForm1.Receive(var msg:TMessage);
var s:string;
    l:cardinal;
begin
  ShowMessage('kommt was!'); // wird nicht aufgerufen, daher die vermutung, dass die procedure nicht aufgerufen wird...
  SetLength(s,msg.lparam);
  l:=GlobalGetAtomName(msg.wparam,@s[1],msg.lparam+1);
  setlength(s,msg.lparam);
  ShowMessage(s); //wird nicht angezeigt
end;
Habe ich etwas wichtiges vergessen???
Danke
Tom
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 20:26 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