| |
| |
|
 Nico Madysa | Hallo miteinander,
irgendwie scheitere ich gerade an einem Billigbeispiel für die API RegisterClassEx. KompilierenMarkierenSeparierenStruct WNDCLASSEX = cbSize&,style&,lpfnWndProc&,cbClsExtra&,cbWndExtra&,hInstance&,hIcon&,hCursor&,hbrBackground&,\
lpszMenuName&,lpszClassName&,hIconSm&
proc Wndproc
parameters wnd&,msg&,wp&,lp&
return External("USER32","DefWindowProcA",wnd&,msg&,wp&,lp&)
endproc
cls
declare triangle#,trname$ : Dim triangle#,WNDCLASSEX : trname$ = "MyClass"
With Triangle#
.cbSize& = SizeOf(triangle#)
.style& = 3'CS_HREDRAW |CS_VREDRAW
.lpfnWndProc& = ProcAddr(Wndproc,4)
.cbClsExtra& = 0
.cbWndExtra& = 0
.hInstance& = %hInstance
.hIcon& = External("USER32","LoadIconA",0,$7F00)'IDI_APPLICATION
.hCursor& = External("USER32","LoadCursorA",0,$7F00)'IDC_CURSOR
.hbrBackground& = 1'COLOR_BACKGROUND
.lpszMenuName& = 0
.lpszClassName& = Addr(trname$)
.hIconSm& = .hIcon&
EndWith
var atom& = External("USER32","RegisterClassExA",triangle#)
print WinError$(%WinError)
Dispose triangle#
whilenot IsKey(27)
waitinput
wend
atom& = External("USER32","UnregisterClassA",trname$,%hInstance)
print WinError$(%WinError)
waitinput
end
Nichts besonderes dabei, aber trotzdem wird mir der Fehler ausgegeben: „Das System kann die angegebene Datei nicht finden“, obwohl keine Datei angegeben ist. Ersetzen von LoadIcon/LoadCursor hat nichts genutzt, Umstieg auf XPSE und NProcs ebensowenig. Ich habe die Vermutung, dass es an dem ProcAddr liegt. Sieht vielleicht jemand meinen Fehler? |
|
| |
| |
| |
|
|
 Andreas Miethe
 | | Funktioniert bei mir einwandfrei ! |
|
| |
| Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...]  | 04.04.2011 ▲ |
|
| |
|
|
 Nico Madysa | Welche Profan-Version hast du denn? Nicht, dass es noch irgendein Bug ist. |
|
| |
| |
| |
|
|
 RGH | Also bei mir (Windows 7, 32 Bit, XProfan X2) funktioniert es auch.
Gruß Roland |
|
| |
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 04.04.2011 ▲ |
|
| |
|
|
 Nico Madysa | Habe soeben die bei mir gelinkte Exe auf einem anderen Rechner ausprobiert. Der Fehler muss irgendwo in meinem Betriebssystem liegen. Heißt zwar, dass ich richtig programmiert habe, lässt aber doch einen seltsamen Nachgeschmack zurück.  |
|
| |
| |
| |
|
|
 Andreas Miethe
 | Nico Madysa (04.04.11)
 Welche Profan-Version hast du denn? Nicht, dass es noch irgendein Bug ist.
Mit XProfan10,11,X2 und Win7,32Bit
getestet. Kein Problem. |
|
| |
| Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...]  | 04.04.2011 ▲ |
|
| |
|
|
 Sebastian Sprenger | | Bei mir passiert dasselbe wie bei Nico - XProfan 11.2a, Vista Home - auch wenn ich das Programm als Admin starte, den Kompatiblitätsmodus auf Windows 95 oder auf XP SP2 stelle und die visuellen Designs und Desktopgestaltung deaktiviere... |
|
| |
|  Profan² 7.0e, XProfan 9, 11.2a, FreeProfan32  Windows Vista Home Premium 32-Bit, 2.8 Ghz, 4 GB RAM  Windows Me, 1.8 Ghz, 256 MB RAM | 04.04.2011 ▲ |
|
| |
|
|
 Nico Madysa | Eben mit iF geskypet und er hat das Problem nach langer Suche entdeckt: Der Rückgabewert von RegisterClassEx ist ungleich Null, also hat alles geklappt. Der Inhalt von %WinError ist damit völlig bedeutungslos. Jaja, mal wieder den Wald vor lauter Bäumen nicht gesehen. Trotzdem danke für eure Mühen! |
|
| |
| |
| |
|