![]() |
Re: Text (Pfadangabe) per Windows Message verschicken
Ich bin echt mit meinem Latein am ende :(
Habs so gemacht wie du gesagt hast aber geht nicht :(
Delphi-Quellcode:
Erstmal danke für deine Hilfe, fällt dir noch was ein was falsch sein könnte?? *grummel*
function GetAllocFileName(wParam: WPARAM): PChar; //wparam ist nicht 0
var DataPtr: Pointer; begin; Result := ''; DataPtr := GlobalLock(wParam); //aber hier gibts nen "nil" ich vermute das hier irgendwo mein Fehler steckt // hier gibts laut getlasterror ein ungültiges handle :( If DataPtr <> nil Then Begin Try Result := PChar(DataPtr); // oder sonstwas MessageBox(0, 'get - pointer nil', 'fehler', MB_OK or MB_ICONWARNING); Finally GlobalUnlock(wParam); End; End Else {Fehler} MessageBox(0, 'get - dataptr leer', 'fehler', MB_OK or MB_ICONWARNING); end; mfg Caleb |
Re: Text (Pfadangabe) per Windows Message verschicken
Was spricht eigentlich gegen WM_COPYDATA? Warum der Umstand?
|
Re: Text (Pfadangabe) per Windows Message verschicken
@Luckie: Das habe ich mich auch gefragt. wm_copydata ist die einfachste Variante (da dabei automatisch dafür gesorgt wird das die Daten im anderen Prozess gelesen werden können). Aber weil das nicht auf Anhieb funktioniert hat, wird eine kompliziertere Lösung gesucht bei der letzendlich genau an der gleichen Stelle der Fehler zu beseitigen ist + das was wm_copydata für einen von allein macht.
Anstelle hier einen riesen Umweg zu gehen wäre es aus meiner sicht Ratsamer zu schauen was und warum wm_copydata angeblich nicht funktioniert. |
Re: Text (Pfadangabe) per Windows Message verschicken
Hallo,
das ist richtig, es ist die einfachste Lösung, und ja sie Funktioniert auch, aber ich möchte ganz gerne den anderen Weg geklärt haben ;) In späteren Programmen möchte ich dann auf diesen weg weiter arbeiten, und wenn ich den Fehler finde, sollte die Funktionen auch gehen! Bloß weil es im mom ein wenig schwierig ist (insbesondere weil ich nicht so rcht weiß wo der Fehler liegt) muss es Ihn aber geben, und ich währe halt zufrieden wenn ich diese Lösung benutzen könnte! Wenn alles nichts hilft, dann muss ich wohl auf WM_COPYDATA umsteigen, was ich aber eigentlich nicht vorgehabt habe, da ich dort KEINE eigene Messages nutzen kann. |
Re: Text (Pfadangabe) per Windows Message verschicken
Eigene nachrichten brauchst du doch aich nicht. Die Datenstruktur für WM_COPYDATA bietet dir ein frei verwendbares Integer-Feld. Dieses kannst du nutzen, um die enthaltenen daten zu unterscheiden:
http://msdn.microsoft.com/en-us/library/ms649010(VS.85).aspx -> dwData Specifies data to be passed to the receiving application.
Delphi-Quellcode:
case dwData of
0: ; // mach dies mit den Daten 1: ; // mach jenes mit den Daten end; |
Re: Text (Pfadangabe) per Windows Message verschicken
Hallo, ich habe iene möglichkeit gefunden wie ich es mit WM_COPYDATA machen kann, aber wie oben beschrieben war das nicht mein Hauptziel! Sondern es mit eigenen Messages hinzubekommen! Trotzdem danke :thumb:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:57 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-2025 by Thomas Breitkreuz