AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Wie bekomme ich das Handle meiner Anwendung ?? [ gelöst ]
Thema durchsuchen
Ansicht
Themen-Optionen

Wie bekomme ich das Handle meiner Anwendung ?? [ gelöst ]

Ein Thema von Corpsman · begonnen am 18. Jul 2007 · letzter Beitrag vom 19. Jul 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#1

Wie bekomme ich das Handle meiner Anwendung ?? [ gelöst ]

  Alt 18. Jul 2007, 18:30
Hi leute,

wenn ich eine VCL anwendung habe und mache

messagebox(application.handle,'as','asd',0); Irgendwo im Code dann wird meine Anwendung komplett blockiert.

D.h. selbst wenn ich die Anwendung hinter der Messagebox sehe, so kann ich sie nicht ancklicken oder verschieben oder sonst was.

nun habe ich hier ein OpenGL Non VCL sample mit dem ich wunderbar Arbeiten kann.

Blöderweise ist da auch ne Messagebox drin. mittels

messagebox(0,'as','asd',0); wird die Aufgerufen.

Klar wenn ich nun auf das Fenster Klciek das die Messagebox hinter dem Fenster verschwindet und ich Richtig Probleme bekomme .

Kann mir hier jemand sagen wie ich das handle bekomme das ich in meinem NonVCL sample übergeben mus damit ich den selben Effeckt wie bei der VCL Anwendung bekomme ?

Für alle die das nu nicht verstanden habe was ich meine, habe ich mein Sample mal hochgeladen und gleich die Messagebox reingemacht.


[edit=Matze]Im Titel "Hande" in Handle" geändert, damit man das Thema über die Suche auch leicht finden kann. MfG, Matze[/edit]l
Angehängte Dateien
Dateityp: dpr lesson1a_303.dpr (15,6 KB, 7x aufgerufen)
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Wie bekomme ich das Hande meiner Anwendung ??

  Alt 18. Jul 2007, 18:32
Eine Non-VCL-Anwendung hat kein Handle. Eine VCL-Anwendung, genauer gesagt TApplication, arbeitet mit einem unsichtbaren Fenster, dessen Handle die TApplication-Instanz verwendet. Nimm einfach das Handle deiner MainForm oder so.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Wie bekomme ich das Hande meiner Anwendung ??

  Alt 18. Jul 2007, 18:38
Das oder so ist das Problem.

ich habe eigentlich alles ausprobiert was ich so finden konnte, und man kann immer die Messagebox hinter dem Fenster Verstecken.

Deswegen hab ich ja den Source hochgeladen, da könnt ihr "ausprobieren" ob eure idee geht.
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat
Benutzerbild von ErazerZ
ErazerZ

Registriert seit: 27. Mai 2005
Ort: Baden
315 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: Wie bekomme ich das Hande meiner Anwendung ??

  Alt 18. Jul 2007, 18:39
MessageBox(h_Wnd, ....);
  Mit Zitat antworten Zitat
Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#5

Re: Wie bekomme ich das Handle meiner Anwendung ??

  Alt 18. Jul 2007, 18:51
Shit,

im Sample gehts so tatsächlich.

Wenn ich das selbe aber in Balanced mache klappt es nicht.

Obwohl ich da den Exakt selben Code habe.

Gibts noch ne Möglichkeit von nem Fenster sich das Handle geben zu lassen ?

also das ich versuche das Handle von meinem Balanced zu bekommen und dann das zu nehmen...
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat
Relicted

Registriert seit: 24. Jan 2006
Ort: Iserlohn
646 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Wie bekomme ich das Handle meiner Anwendung ??

  Alt 18. Jul 2007, 19:38
kann dein sample leider ned kompilieren...

Delphi-Quellcode:
var
  FWindowHandle : HWND;
//....
  FWindowHandle := Classes.AllocateHWnd(WndProc);
  messagebox(FWindowHandle,'as','asd',0);
klappt das vielleicht?
  Mit Zitat antworten Zitat
Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#7

Re: Wie bekomme ich das Handle meiner Anwendung ??

  Alt 18. Jul 2007, 20:53
hmm

kann ich auch nicht Testen mein D5 kennt

AllocateHWnd

net.

Aber ich hab immerhin schon mal Rausgefunden das es generell zu gehn schein.

wenn ich diese Messagebox von wo anders aus aufrufe gehts.

Meine MessageBox wird von der Create einer anderen Subklasse Aufgerufen.

Ich versuch nu mal die Nachrichten wie wild hin und her zu schicken vielleicht klappts ja dann .
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat
Relicted

Registriert seit: 24. Jan 2006
Ort: Iserlohn
646 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: Wie bekomme ich das Handle meiner Anwendung ??

  Alt 18. Jul 2007, 20:56
schau mal in der hilfe vielleicht liegts ned in classes sondern woanders...
  Mit Zitat antworten Zitat
Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#9

Re: Wie bekomme ich das Handle meiner Anwendung ??

  Alt 18. Jul 2007, 21:05
Also ich habs nu Teilweise hinbekommen.

Wenn die Messagebox kommt solange ich noch nie das Fenster anzeigen lassen habe gehts net, sobalt aber das 1. Mal via OpenGL gerendert wurde gehts.

nu mus ich ebend mit all meinen Fehlermeldungen warten bis das 1. Frame Rum ist dann gehts .

Aber woran das wohl liegt ...
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#10

Re: Wie bekomme ich das Handle meiner Anwendung ??

  Alt 19. Jul 2007, 07:32
Schon einmal
MessageBox(h_Wnd, , '', MB_SETFOREGROUND or MB_TOPMOST or MB_OK); versucht ?
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 21:42 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