| |
|
|
GDL | Hi Profaner,
habe das Problem,dass Programme welche Startpaint Endpaint,oder sendkey nutzen auf meinem alten 1GHz Board einwandfrei gehen,aber auf meinem neuen 2,6 GHz Board nicht mehr.
Startpaint Endpaint geht nur mehr im Interpretermodus.Als Exe Datei nur noch dann, wenn hinter jedem Endpaint ein Waitinput folgt.Selbst bei einem Sleep 1000 hinter Endpaint blitzen nur Bruchteile des Textes kurz auf,bevor die Programmunterbrechung eintritt.
sendkey(xyz&,13) Sendkey funktioniert nur dann, wenn gleich darauf ein Sleep 200 folgt. Ohne dem sleep Befehl wird sendkey einfach nicht ausgeführt.
Habe 2,6 GHz Intel CeleronD Board mit 510 MB RAM WindowsME und XProfan 8.0.
Hatte jemand schon ähnliche Probleme?
Mit freundlichen Grüßen Georg Dankesreiter |
|
|
| |
|
|
|
| |
|
| |
|
|
|
GDL | Hi If
Habs ausprobiert,aber settimer wird nicht ausgeführt,weder im Interpre- termodus noch Compiliert.
Letzter Stand:
objekt&[num%]=Control(STATIC,objekt$[num%],$54001006,xkoor%[num%],ykoor%[num%],breite%[num%],hoehe%[num%],%hwnd,0, %hInstance,$0) setfont objekt&[num%],font&[1] startpaint objekt&[num%] UseFont COURIER,0,12,0,0,0 drawtext 1,1,objekt$[num%] beep wird ausgeführt Settimer 10000 : waitinput : killtimer wird nicht ausgeführt sleep 500 wird ausgeführt endpaint Settimer 10000 : waitinput : killtimer wird nicht ausgeführt
Dieser Teil geht im Interpretermodus einwandfrei,aber warum nicht als Exe ?
objekt&[num%]=Control(STATIC,objekt$[num%],$54001006,xkoor%[num%],ykoor%[num%],breite%[num%],hoehe%[num%],%hwnd,0, %hInstance,$0) setfont objekt&[num%],font&[1] startpaint objekt&[num%] UseFont COURIER,0,12,0,0,0 drawtext 1,1,objekt$[num%] endpaint
===============================================
Bei der Anwendung mit dem Sendstring Problem
Settimer 10000 : waitinput : killtimer wird nicht ausgeführt
Auch hier wird settimer....... in beiden Dateimodis ignoriert. Vielleicht hängts damit zusammen,da in beiden Fällen settimer..... nicht aufs Hauptfenster,sondern einmal auf Statics und einmal auf ein Richedit angewandt wird. sendkey wird nur auf ein Richedit angewendet. Bin das Problem hier nochmals genauer angegangen,mit dem Ergebnis ob mit sleep,settimer,oder ohne => es werden einfach immer einige Sendkey verschluckt.
Beide Programme nutzen die neue Ereignisbehandlung von Prfellow. Vielleicht muss man hier was spezieelles beachten?Dann wiederum verstehe ich es nicht,warum es auf dem alten Board ohne Probleme lief.
Bin mit meinem Anfängerlatein am Ende,hoffe auf Freund Zufall.
Mit freundlichen Grüßen Georg Dankesreiter |
|
|
| |
|
|
|
| |
|
| |
|
|
|
GDL | Hi If
Nein,Profan 7.5 und Xprofan 8.0
Werde es mit Profan 7.5 mal probieren. Ist ja nicht so wichtig,ich komme damit zurecht,wollte die Anwendung als Anfängerfreeware für Anfänger bei Dir im Board anbieten. Da ich auch kein WinXP habe,hätte ich sowieso erst mal einen Freiwilligen gebraucht,der testet ,ob das Programm auch unter XP läuft.
Wenn das Problem wie auch immer gelöst ist, kann man es ja immer noch hochladen.
Mit freundlichen Grüßen Georg Dankesreiter |
|
|
| |
|
|
|
| Ok habs verstanden. Schreib doch bitte wie im Stammtisch besprochen deine Profanversion und Windowsversion in Deine Signatur. Die Signatur kannst editieren in Deinem Profil (Hauptansicht, Rechts).
Wenn Du Prf7 hast must Du natürlich settimer 1 waitinput killtimer
statt
settimer 1 : waitinput : killtimer
schreiben.
Salve, iF |
|
|
| |
|
|
|
GDL | Hi If
habs leider übersehen,dass erst XProfan 9 mehrere Befehle in einer Zeile zuläßt. Geht aber trotzdem nicht. Nochmals vielen Dank für Deine Hilfe und verbleibe mit
freundlichen Grüßen Georg Dankesreiter |
|
|
| |
|
|
|
| [quote:37c54beb4c=Georg Dankesreiter]Hi If
habs leider übersehen,dass erst XProfan 9 mehrere Befehle in einer Zeile zuläßt.[/quote:37c54beb4c]Naja, nicht ganz. Wer xpse im Einsatz hat kommt ebenfalls in den Genuß - unabhängig von der Profanversion.
Salve, iF |
|
|
| |
|
|
|
GDL | Hi If
bin ein Stückchen weiter
objekt&[num%]=Control(STATIC,objekt$[num%],$54001006,xkoor%[num%],ykoor%[num%],breite%[num%],hoehe%[num%],%hwnd,0, %hInstance,$0) setfont objekt&[num%],font&[1] sleep 1000 startpaint objekt&[num%] UseFont COURIER,0,12,0,0,0 drawtext 1,1,objekt$[num%] sleep 1000 endpaint
habe mit folgendem Probiert,was passiert
$54001006 = weißes Statik mit Rand
Im Interpretermodus wird zuerst das Statik erzeugt und dann Beschrieben.
Als Exe dann aber komischerweise erst ein graues Statik erzeugt. Dann der Text mit weißen Hintergrund eingesetzt und dann erst der Rand und das weiße Statik erzeugt.Somit ist dann der Text überdeckt.
Bin als Einsteiger jetzt total überfordert,weißt Du vielleicht eine andere Möglichkeit das Statik zu beschriften?Danke.
Mit freundlichen Grüßen Georg |
|
|
| |
|
|
|
| Ich muß gestehen jetzt erst zu merken worum es Dir eigendlich geht.
Jetzt ist mir auch klar das Dein Prob. nicht per settimer 1 zu regeln ist.
Beschrifte einfach Dein Static mit einem BMP.
Hier [...] habe ich ein schönes Beispiel dazu gepostet.
Hilft Dir das?
Salve, iF |
|
|
| |
|
|
|
GDL | Hi If
Danke für den Tip.Da aber der Anwender den Text bestimmt müsste ich die Stringvariable vorher erst in eine BMP Datei umwandeln. Das ganze Programm(dBase Dateigenerator mit kleiner Programieroberfläche) entstand eigentlich nur,weil ich aus Dir bekannten Grund meine kompletten Programme neu schreiben muss.Da mir dabei einige Profaner geholfen haben den Dateigenerator hinzukriegen,wollte ich diesen nun als Freeware für Anfänger(aber nur für hiesige Mitglieder und nur auf Dein Forum beschränkt) anbieten.
Das der Dateigenerator als EXE bei einer Staticsorte nicht geht,habe ich erst bemerkt als ich das Installationspacket zum Hochladen herrichtete und nochmals vorher Durchtestete.
Vielleicht liegt der Fehler auch in einem anderen Programmteil,den der Interpreter ignoriert und der Compiler nicht.Graue Statics lassen sich komischerweise anstandslos beschriften. Eines kann ich aber jetzt 100%ig ausschließen,an dem neuen Board liegts nicht.Auf dem alten Board hatte das Programm noch keine weißen Statics und jetzige Version läuft auch auf dem alten Board nicht richtig.
Löse jetzt betreffende Zeilen aus dem Gesamtcode und schaue was dann passiert.Rolf hat mir auch was zum Testen geschickt,nochmals ne Chance.
Vielleicht kriege ich auch mal was Vernünftiges auf die Beine.
Mit freundlichen Grüßen aus dem noch verschneiten Niederbayern Georg |
|
|
| |
|
|
|
GDL | Hi If,
kopiere hier einfach die Nachricht an Rolf
Hi Rolf
legte eine Nachtschicht ein,da mir dies Ding keine Ruhe ließ. Habe es jetzt gelöst.
Habe deinen Code einfach Stück für Stück zerlegt,dabei kam folgendes raus:
declare test& proc schrift startpaint test& UseFont COURIER,0,12,0,0,0 drawtext 1,1,Test endpaint endproc cls test&=Control(STATIC,Test,$54001006,200,20,100,20,%hwnd,0, %hInstance,$0) schrift schrift waitkey
Bei einmaligen Aufruf der Procedure Schrift habe ich gleiches altes Problem. Da aber Du in Deinem Beispiel die Procedure mehrmals Durchlaufen läßt,habe ich die Proc. einfach mal zweimal hintereinander aufgerufen. Wenn ich es auch nicht verstehe,aber dann gings auf einmal.
Nun lasse ich in meinem Programm Startpaint Endpaint auch mehrmals Durchlaufen und es geht auch.
declare hg% whilenot hg% > 2 startpaint objekt&[num%] UseFont COURIER,0,12,0,0,0 drawtext 1,1,objekt$[num%] endpaint inc hg% wend
Ohne Deinen Code wäre ich niemals auf die Idee gekommen Startpaint Endpaint mehrmals hintereinander aufzurufen.Nochmals Danke.
Eine letzte Bitte hätte ich noch,könnte mir jemand erklären warum dies so ist,oder ob dies nur unter WinME so ist.
Also nochmals Euch beiden ein großes Dankeschön.
Mit freundlichen Grüßen Georg
Für If
Wenn nichts dagegenspricht würde ich das Prog. nochmals durchsehen und auf die Gefahr hin,dass es auf anderen Win.Versionen ausser ME nicht läuft Dir zukommen lassen.Ich möchte es jetzt doch nicht mehr unangesehen auf die Mitglieder loslassen. |
|
|
| |
|
|