Entwickler-Ecke
Windows API - Fragen: Umsteigen von VB6.0 nach Delphi5
check_it_now - Mo 16.12.02 16:03
Titel: Fragen: Umsteigen von VB6.0 nach Delphi5
hallo,
zur zeit programmiere ich mit VB6.0 - und denke darueber nach auf delphi5 umzusteigen. um dies mehr oder weniger erfolgreich zu machen habe ich ein existierendes VB6 program und versuche dieses nach delphi zu "transformieren". dabei taucht eine frage auf die ich nicht loesen kann
das einbinden von existierenden (user32.dll) funktionen will mir einfach nicht gelingen.
in VB sieht der code so aus
Decalration:
Public Const WM_CLOSE = &H10&
Public Declare Function PostMessage Lib "USER32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
anwendung
PostMessage Me.hwnd, WM_CLOSE, 0&, 0&
kann mir jemand sagen an welcher stelle ich diese declarationen machen muss. auch das aufrufen der funktion selber (sie schliesst die anwendung) ist mir nicht ganz klar.
die funtion schliesst die aktuelle anwendung (geht bei delphi auch mit close) aber es soll ja nur ein beispiel fuer die einbindung dieser dinge sein.
danke im voraus
(16.12. 15:18 Tino) Titel geändert.
check_it_now - Mi 18.12.02 10:19
die referenzen hatte ich schon gelesen aber leider geht man da nur auf eigendefinierte dll's ein. das ist aber momentan nicht mein prob.
also nochmal zum teil habe ich das geloest. na ja zumindest bekomme ich keine fehlermeldung mehr bei der declaration. die PostMessage decalration steht in der windows.pas. Diese Declaration konnte ich mir also sparen.
jedoch ist mein prob ist nach wie vor der aufruf der function. speziell der parameter
"ME.hwnd" will mir unter delphi nicht gelingen.
unter vb ist mit Me.hwnd die application gemeint. man koennte auch fuer Me den namen der zu beendenden Mainform benutzen.
PostMessage Me.hwnd, WM_CLOSE, 0&, 0&
wenn ich nun unter delphi schreibe
mit dem formnamen "frm_test"
PostMessage (frm_test.hwnd, WM_CLOSE, 0&, 0&);
bekomme ich die errormeldung
Incompatible Typen HWND und Tfrm_test
aender ich frm_test nach Tfrm_test heisst die errormeldung
Incompatible Typen HWND und Class reference
wer kann mir mit einem bsp helfen. mit der beschriebenen "grauen theorie" komme ich zur zeit nicht weiter.
LCS - Mi 18.12.02 10:24
Hi
in Delphi müsste das heissen:
Quelltext
1:
| PostMessage(Application.Handle, WM_CLOSE, $0, $0); |
Gruss Lothar
So ganz nebenbei, kommt mir dein Username ziemlich bekannt vor. Fährst du vielleicht ne Hornet?
check_it_now - Mi 18.12.02 10:34
oh oh komando zurueck :-)
habe es gerade herausgefunden.
PostMessage (Application.Handle, WM_CLOSE, 0 , 0 ) ist das richtige commando
oh das war "kompliziert" trotzdem danke fuer die bemuehungen
check_it_now - Mi 18.12.02 10:35
sorry hatte deine antwort nicht gelesen. aber genau das ist es. danke danke danke.
statt application geht auch der fenstername.
also nochmal danke
check_it_now - Mi 18.12.02 15:11
@lothar,
>So ganz nebenbei, kommt mir dein Username ziemlich bekannt vor. Fährst du vielleicht ne Hornet?
yes sir, ne blaue 9er
ich hatte deinen beitrag noch nicht ganz zu ende gelesen aber dein kuerzel war mir auch irgend wie bekannt. glaube aber du bist mehr auf der andern hornetseite activ :-)
momentan kann ich mich noch nicht so richtig fuer delphi begeistern. ich habe starke syntaktische probleme :-( mit dieser programiersprache.
na ja mal sehen wenn ich noch 2 wochen durchhalte und meine questions for runnaways beantwortet werden sehe ich das eventuel anders.
als denne bis zur naechsten frage
alexschultze - Fr 03.01.03 23:31
hey, klingt interessant, aber ich raffe nix :)
Was ist ne Hornet? Nen Auto? Wie kommst du über den Nick drauf?
Du arbeitest nett zufällig bei der NSA? *ggg*
Meine Meinung zum Thema:
DELPHI RULEZ! Ich persönlich habe mich (seeehr) oberflächlich mal in VB als auch C++ umgesehen, und es gab nichts das mich begeistert hätte.
Mein Argument ist immer: Delphi ist einfach, und ist nicht umsonst RAD (Rapid Application Developement) - kleine Anwendungen sind sehr fix gemacht.
(kann nicht genau sagen wie es in VB und C dabei aussieht).
Ich persönlich habe auf Empfehlung mit Delphi angefangen, und kann jetzt gar nicht mehr aufhören :)
Dafür ist das Forum ja da -> learn it or leave it :)
(cooler spontaner Spruch. Sowas müsste mir öfter mal einfallen *g*)
Delete - Sa 04.01.03 05:48
Quelltext
1:
| PostMessage (Application.Handle, WM_CLOSE, 0 , 0 ); |
Etwas umständlich oder schreibst du ohne die VCL? Ein einfaches und Furz trockenes
würde es auch tun.
OregonGhost - Sa 04.01.03 17:23
| check_it_now hat folgendes geschrieben: |
die funtion schliesst die aktuelle anwendung (geht bei delphi auch mit close) aber es soll ja nur ein beispiel fuer die einbindung dieser dinge sein. |
Wer lesen und schreiben kann ist klar im Vorteil :roll:
check_it_now - Di 07.01.03 11:05
@alexschultze
hornet - da ist ein motorrad aeh was sage ich da . das ist DAS motorrad.
ne bei der NASA arbeite ich nicht.
so noch fragen??
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!