| |
|
|
Sato Pinto | Hallo Xprofaner
Habe in mein Programm das Problem das nach mehrmaligen Bild laden und anzeigen 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 könnte?
Gruss Sato Xprofan11 Win XP Home |
|
|
| |
|
|
|
Jac de Lad | Gib mal n vollständigen Quelltext, der den Fehler erzeugt! |
|
|
| 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 ▲ |
|
|
|
|
| Ah! Wetten das er irgendwo im Quelltext ein ProcAddr zu stehen hat? Das sieht mir nach TimerAufrufen aus... |
|
|
| |
|
|
|
Jac de Lad | Jo, das kam mir verdächtig bekannt vor. |
|
|
| 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 ▲ |
|
|
|
|
| Jupp! Hallo Sato könntest Du das versuchen in ein [...] zu pressen?
PS: XProfanversion besser in die Signatur tun, so muss Du diese Angabe auch nicht in jedem Beitrag wiederholt einfügen. |
|
|
| |
|
|
|
Sato Pinto | Hallo iF und Jac
Danke für Eure Mühe, in Anhang eine abgespeckte Version wo die Fehlern auftreten Manchmal brich das Program ab mit vielen Messageboxen mit den Hinweis zwischen Startpaint und Endpaint verboten oder die schon gemeldete Message das ein mit mloadbmp file nicht gefunden wurde obwohl es da ist und auch schon etliche male dargestellt worden ist. Und noch was, jedesmal wenn die Nummer aktualiziert wird ist im Windows Taskmanager zu sehen das die Ram benutzung immer steigt, dieses programm soll aber später rund um die Uhr laufen....... In diesen Programm benutze ich die klasse inc Laufschrift von Rolf Koch in den ich diese Meldung über Startpaint verbot vermute und die tolle Thread PCU von iF
Bitte die datei in Endung zip umbenennen Gruss
Sato |
|
|
| |
|
|
|
| Da haben wir (den/einen) Fehler... KompilierenMarkierenSeparieren Du darfst niemals, niemals wirklich nie - also nie thread.start und thread.stop verwenden, wenn dieses nicht ausschliesslich ein waitInput umschliesst!
Erlaubt: KompilierenMarkierenSeparieren Auch ok: KompilierenMarkierenSeparieren Alles andere wäre Wahnsinn und führt schnell zu Abstürzen. (procAddr-Problem)
Es kann natürlich sein, das trotzdem in Deinem Code ein anderer "logischer" Fehler enthalten ist welcher die Meldungen auswirft - aber zunächst solltest Du das Threadgedöns "in Ordnung" bringen um überhaupt eine saubere Basis zu erhalten. |
|
|
| |
|
|
|
| Nachtrag: Du hast XProfan11 - juhu Du benötigst die Thread-Unit garnicht und kannst damit verzichten auf alle Dinge auf die man aufpassen muss wie ein Schießhund!
Statt der Thread-Unit kannst Du die setTimer-Api nutzen und die subClassProc. KompilierenMarkierenSeparieren Du erhältst die ~wm_timer Nachricht in der subClassProc und setzt dort hinein, was jetzt die thread.do abarbeiten soll... |
|
|
| |
|
|
|
Sato Pinto | Hi, iF
Danke für den Tip. Thread.stop x brauche ich normal nicht im programm zu schreiben dar die Threads nie gestoppt werden, oder? Ich habe es trotzdem am programm ende geschrieben, kann ja nicht schaden, oder?
Nach der waitinput eingabe brich das programm noch ab bis jetzt mit der Startpaint Messages
Gruss Sato |
|
|
| |
|
|
|
| Argh - thread.stop muss nach jedem waitinput kommen vor dem thread.start steht.
Hinter einem thread.start darf nur ein weiteres thread.start kommen oder ein waitInput - nichts anderes.
Nach einem waitInput das davor ein thread.start zu stehen hat MUSS sofort auch ein thread.stop kommen! |
|
|
| |
|
|
|
Rolf Koch | Aber Sato, ich blicke leider nicht so ganz (nicht alleine wegen der Kommentarsprache ^^) durch. Ich finde keine Hauptschleife? Oder übersehe ich was? Desweiteren nutzt Du den vorhandenen %wmtimer aus meiner Laufschrift. Das kann sowieso nicht in Zusammenspiel mit der Thread hinhauen (meine ich zumindest). Ist bisserl verwirrend, wenn vielleicht auch richtig Dein Code. |
|
|
| |
|
|
|
Sato Pinto | Hi, iF
Leider habe ich von subclassing noch keine Kentnisse, wie kann das für meinen Fall funktionieren? Mit 4 Timmern?
Kannst Du mir bitte einen kleinen Beispiel wovon ich lernen kann das ohne die PCU zu machen?
Danke
Gruss Sato |
|
|
| |
|
|