Autor |
Beitrag |
DeCodeGuru
Beiträge: 1333
Erhaltene Danke: 1
Arch Linux
Eclipse
|
Verfasst: Mo 30.09.02 18:19
Hi Leutz,
ich möchte mich jetzt mal wieder blamieren und habe eine schöne Frage für euch und zwar: Wie bekomme ich das Handle meiner Anwendung raus?
P.S.: Das Programm hat keine Oberfläche, also keine VCL und ein Objekt vom Typ TApplication gibt es nicht.
_________________ Viele Grüße
Jakob
|
|
tommie-lie
Beiträge: 4373
Ubuntu 7.10 "Gutsy Gibbon"
|
Verfasst: Mo 30.09.02 18:43
Wie jetz? DeCodeGuru kennt etwas nciht?
Wo gibt's denn das?
_________________ Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
|
|
DeCodeGuru
Beiträge: 1333
Erhaltene Danke: 1
Arch Linux
Eclipse
|
Verfasst: Mo 30.09.02 18:47
hier!!! ich geh ja schon in die Ecke und schäme mich
_________________ Viele Grüße
Jakob
|
|
Motzi
Beiträge: 2931
XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
|
Verfasst: Mo 30.09.02 18:49
Was konkret meinst du mit "Handle meiner Anwendung" ?? Das Handle deines Fensters, hInstance, ... ??
_________________ gringo pussy cats - eef i see you i will pull your tail out by eets roots!
|
|
DeCodeGuru
Beiträge: 1333
Erhaltene Danke: 1
Arch Linux
Eclipse
|
Verfasst: Mo 30.09.02 18:57
ich meinte das Handle meines Processes und zwar habe ich ein Prob. Ich will in meiner Anwendung den Titel ändern. Normalerweise würde ich das ja mit Application.Title machen, allerdings geht das ja nicht, da es in meiner Anwendung kein Application gibt. Wie kann ich also den Titel der Anwendung ändern?
_________________ Viele Grüße
Jakob
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 30.09.02 20:30
Habe ich da einen Widerspruch entdeckt?
der ratlose DeCodeGuru hat folgendes geschrieben: | Das Programm hat keine Oberfläche |
DeCodeGuru hat folgendes geschrieben: | Ich will in meiner Anwendung den Titel ändern |
Wie, wenn es gar keine Oberfläche hat?
Also, ich rate jetzt mal -
Wenn du ein Fenster erzeugst, mit "CreateWindowEx", dann hast du im Normalfall eine Nachrichtenfunktion, "WndProc" o.ä., in der du bei WM_CREATE den Fenstertitel ändern könntest:
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| function WndProc(wnd: HWND; uMsg: UINT; wp: WPARAM; lp: LPARAM): LRESULT; stdcall; begin Result := 0;
case uMsg of WM_CREATE: begin buf := 'Hallo, DeCodeGuru'; SetWindowText(wnd // <-- !,buf); end; ... |
"buf" ist ein Array-of-char, und den Rest spare ich mir.
Bei Dialogressourcen ist es nicht anders, nur dass du es da in der WM_INITDIALOG machst.
Hilft das schon?
Wahrscheinlich nicht. ... Aber das ist eben schwer, wenn man nicht weiß, ob dein Programm nun ein Fenster hat usw.
|
|
DeCodeGuru
Beiträge: 1333
Erhaltene Danke: 1
Arch Linux
Eclipse
|
Verfasst: Mo 30.09.02 20:43
jo, ich merke ich habe mich sehr schlecht ausgedrückt. Also neuer Versuch:
Wenn ich folgenden Code schreibe,
Application.Title := 'Was weiss ich' dann ändert sich ja nicht der Titel von meiner Form. Das sehe ich doch richtig, oder? Gut
Wenn ich jetzt aber per ShowMessage einen Wert anzeigen lasse, dann steht im Titel des Fenster der Titel, den ich bei Application.Title übergeben habe. So, wenn ich jetzt nur mit dem Titel des Fensters ein Problem hätte, dann würde ich ja ne MessageBox nehmen. Naja, ich würde ja gerne Application.Title verwenden und da nen Wert zuordnen nur da gibt es ein winziges Problem: Application, existiert ja nicht.
Ich hoffe, ihr habt jetzt mein kleines Problem verstanden.
_________________ Viele Grüße
Jakob
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 30.09.02 20:57
Nein. Es ist schlimmer geworden.
Mit Application.Title änderst du den Taskbareintrag.
|
|
DeCodeGuru
Beiträge: 1333
Erhaltene Danke: 1
Arch Linux
Eclipse
|
Verfasst: Mo 30.09.02 21:06
schon wieder nich richtig ausgedrückt was heute los mit mir? Achja, ich habe ja Ferien
Zitat: | Mit Application.Title änderst du den Taskbareintrag. |
Mehr wollte ich zunächst nicht ändern.
_________________ Viele Grüße
Jakob
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 30.09.02 21:10
Wie sieht den dein Code aus? So ohne Form.
|
|
DeCodeGuru
Beiträge: 1333
Erhaltene Danke: 1
Arch Linux
Eclipse
|
Verfasst: Mo 30.09.02 21:19
ich poste jetzt mal nicht den kompletten Code.
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| begin ReadInformation;
Server := TServer.Create(nil); with Server do begin Port := StrToInt(ServerInf.Port); OnClientRead := ClientRead; OnClientConnect := ClientConnect; OnClientDisconnect := ClientDisconnect; AuthenticationStatus := 0; Open; end;
while GetMessage(Msg, 0, 0, 0) do begin TranslateMessage(Msg); DispatchMessage(Msg); end;
ExitCode := Msg.wParam; end. |
Ansonsten funktioniert das Programm einwandfrei. Auch wenn das jetzt nicht funktionieren sollte, wäre es auch nicht schlimm. Da ich jetzt den Code poste, fällt mir eben auf, dass ich das erstellen des Servers ohne try...except gemacht habe.
_________________ Viele Grüße
Jakob
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 30.09.02 21:30
Hm, sieht schlecht aus würde ich sagen. In der Taskleiste steht wohl der Name der Exe oder?
|
|
DeCodeGuru
Beiträge: 1333
Erhaltene Danke: 1
Arch Linux
Eclipse
|
Verfasst: Mo 30.09.02 21:42
ja, stimmt. Wenn euch keine Lösung einfällt und mir auch nicht, dann ist das auch nicht schlimm.
_________________ Viele Grüße
Jakob
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 30.09.02 21:47
Warum willst du wärend der Laufzeit den Titel ändern?
Binde die Windows.pas und Messages.pas ein, dann kannst du Statusmeldungen mit der API-Messagebox ausgeben.
|
|
DeCodeGuru
Beiträge: 1333
Erhaltene Danke: 1
Arch Linux
Eclipse
|
Verfasst: Mo 30.09.02 21:51
das habe ich ja jetzt auch gemacht
_________________ Viele Grüße
Jakob
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 30.09.02 21:54
|
|
DeCodeGuru
Beiträge: 1333
Erhaltene Danke: 1
Arch Linux
Eclipse
|
Verfasst: Di 01.10.02 08:17
Selbsthilfe nennt man das
_________________ Viele Grüße
Jakob
|
|