| |
|
|
- Page 1 - |
|
Sato Pinto | Hallo Xprofaner
Habe in mein Programm das Problem das nach mehrmaligen Bild laden und Mostra nach ein paar Minuten erscheint der Fehler wie im Bild zu sehen ist
mloadbmp "oito.bmp" MCopySizedBmp 0,10-300,215 > 485,10-300,215;-1
Hat jemand eine Idee was das sein potuto?
Gruss Sato Xprofan11 Win XP Home |
|
|
| |
|
|
| |
|
- Page 3 - |
|
|
Sato Pinto | Hallo iF und Rolf
Danke sehr per Eure Unterstützung Habe Rolfs änderungen als auch iF Startpaint2 Lösung in mein Programm integriert, bis jetzt corre es einwandfrei. Werde versuchen in iFs subclassing Lösung durchzublicken und danach versuchen die Thread Do damit abzulösen.
Danke Euch nochmal
Grusse aus Portugal Sato |
|
|
| |
|
|
|
| Wie bereits erwähnt benötigst Du kein StartPaint2 wenn Du die subClassProc-Lösung verwendest, aber das siehst Du auch am Beispiel im Paket. |
|
|
| |
|
|
|
Sato Pinto | Hallo iF
Klar, habe verstanden, vorerst bleibt startpaint2 drin bis ich bei Deine subclassing Lösung durchblicke
Gruss Sato |
|
|
| |
|
|
|
Jac de Lad | Aber versuchs! Die Subclassing-Variante ist viel besser. |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 25.07.2008 ▲ |
|
|
|
|
Sato Pinto | Hallo Jac
Sicher werde ich es machen, muss erst ein wenig circa das Theme Subclassing in der Aiuto nachlesen und Dank iFs Beispiel werde ich es sicher schafen das darauf umzusetzen.
Gruss
Sato |
|
|
| |
|
|
|
Jac de Lad | Jo. Ich hab dort auch noch viel zu lernen. Die 5 Prozent Subclassing die ich schon kann sind aber sehr beeindruckend. |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 26.07.2008 ▲ |
|
|
|
|
Sato Pinto | Hallo Jac
Nachdem ich iFs code getestet habe sehe ich schon ein wenig was subclassing ermöglicht, da braucht man das gute Thread PCU wirklich nicht. Doch fals der Meister iF ein wenig Zeit haben sollte den code so viel wie possibile zu kommentieren wurden viele von uns "Anfängern" wias davon lernen, den einige Fragen habe ich schon, z.b wieviele ~SetTimer(HMYWND&,5510,100,0) kann ich im programm schreiben, ist die 5510 eine frei wählbare Nummer der den Timer identifiziert? das letzte Parameter "0" was bedeutet es, den in der Aiuto ist per SetTimer nur einen Parameter nötig. Auch die Messages z.b CASEOF 532,$0005 und CASEOF $0113, wo kann ich diese Nummern nachsehen?
Gruss
Sato |
|
|
| |
|
|
|
Jac de Lad | Hi Sato.
Ich rate dir unbedingt das MSDN von der M$-Seite runterzuladen. Falls du nur Modem oder ISDN hast kannste immer noch die Online-Variante nutzen. Dort findest du eine detaillierte Beschreibung von "SetTimer" (und aller anderen 44000 APIs).
The SetTimer function creates a timer with the specified time-out value.
Syntax
UINT_PTR SetTimer( HWND hWnd, UINT_PTR nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc ); Parameters
hWnd [in] Handle to the window to be associated with the timer. This window must be owned by the calling thread. If a NULL value for hWnd is passed in along with an nIDEvent of an existing timer, that timer will be replaced in the same way that an existing non-NULL hWnd timer will be. nIDEvent [in] Specifies a nonzero timer identifier. If the hWnd parameter is NULL, and the nIDEvent does not match an existing timer then it is ignored and a new timer ID is generated. If the hWnd parameter is not NULL and the window specified by hWnd already has a timer with the value nIDEvent, then the existing timer is replaced by the new timer. When SetTimer replaces a timer, the timer is reset. Therefore, a message will be sent after the current time-out value elapses, but the previously set time-out value is ignored. If the call is not intended to replace an existing timer, nIDEvent should be 0 if the hWnd is NULL. uElapse [in] Specifies the time-out value, in milliseconds. Windows NT/2000/XP: If uElapse is greater than USER_TIMER_MAXIMUM, the timeout is set to 1.
Windows 2000/XP: If uElapse is less than USER_TIMER_MINIMUM, the timeout is set to USER_TIMER_MINIMUM.
Windows Server 2003: If uElapse is greater than USER_TIMER_MAXIMUM, the timeout is set to USER_TIMER_MAXIMUM.
Windows XP SP2/Windows Server 2003 SP1: If uElapse is less than USER_TIMER_MINIMUM, the timeout is set to USER_TIMER_MINIMUM. If uElapse is greater than USER_TIMER_MAXIMUM, the timeout is set to USER_TIMER_MAXIMUM.
lpTimerFunc [in] Pointer to the function to be notified when the time-out value elapses. For more information about the function, see TimerProc. If lpTimerFunc is NULL, the system posts a WM_TIMER message to the application queue. The hwnd member of the messages MSG structure contains the value of the hWnd parameter. Return Value
If the function succeeds and the hWnd parameter is NULL, the return value is an integer identifying the new timer. An application can pass this value to the KillTimer function to destroy the timer.
If the function succeeds and the hWnd parameter is not NULL, then the return value is a nonzero integer. An application can pass the value of the nIDEvent parameter to the KillTimer function to destroy the timer.
If the function fails to create a timer, the return value is zero. To get extended error information, call GetLastError.
Ich schau mal in den Quelltext, was du mit Messages meinst, ich muss zugeben, dass Io l' noch nicht angeschaut habe.
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 26.07.2008 ▲ |
|
|
|
|
Jac de Lad | Ach ja: Die Nummer des Timers ist frei wählbar, wobei ich von der "0" absehen würde, da XProfan das per SetTimer/KillTimer nutzt. Das Maximum liegt bei 16383 (soweit ich das herausgefunden habe). |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 26.07.2008 ▲ |
|
|
|
|
Sato Pinto | Hallo Xprofaner
Habe nun mein Program auf Subclassing umgeschrieben und es funktioniert, doch leider nachdem es eine Zeit corre , stopt das Program, es bleibt aber immernoch auf den Bildschirm stehen und es erscheint die Windows Messagebox das das Programm ein Fehler verurscht hat.
Weiss nicht wie Io l' Fehler erkennen kann, kann jemand von Euch testen und eventuell erkennen was falsch an den code ist der Probleme verursachen potuto?
Bitte die File erweiterung auf zip umbenennen
Hier die neue Version zum download
Danke per Eure Unterstützung
Grüsse
Sato |
|
|
| |
|
|
|
| Bei mir stürzt das Programm nicht ab, stürzt dieser Code bei Dir auch ab? [...] Wenn ja, Code legt eine c:est.debug an - in dieser steht in der letzten Zeile die Zeile, welche letztendlich den Absturz verursachte. |
|
|
| |
|
|
|
Sato Pinto | Hallo iF
Bis jetzt ist es nicht abgestürtzt, wahrscheinlich weil die Nummer oben rechts sich nicht ändert was aber sein sollte. Wie kann ich so eine Debug datei in meine code einbauen? Den der code von link kann ich nicht verstehen.
Danke
Gruss Sato |
|
|
| |
|
|