| |
|
|
- Seite 1 - |
|
Hubert Binnewies | Hallo Sebastian
Ich glaube ich bin da auf einen Bug gestossen. Ich verwende in meinem Proggi deine SKControl.dll und auch die (ich weiss, ziemlich alte, aber denoch nützliche) ONL.DLL
Wenn ich nun mit der ONL.DLL auf ne nicht vorhandene Webadresse stosse und das Proggie auf ne Rückkehr aus der DLL wartet hört der SKCtrl_CreateClrBlinkStatic auf zu blinken.
Liegt das an deiner SKControl.DLL oder an der ONL.DLL??? Wenn an der SKControl.DLL, kannst du das ändern? oder ist das nicht möglich, dann muss ich mir was anderes überlegen.
Danke schonmal im voraus.
Hubert |
|
|
| WinXP Prof, XProfan 9.1 Newbie
Ein kluger Kopf sagte mal: "Nach dem derzeitigen Stand der Technik ist es unmöglich Programme zu schreiben, die fehlerfrei laufen!" | 24.10.2006 ▲ |
|
|
|
|
| |
|
- Seite 1 - |
|
| Hubert könnte sich behelfen indem er das Downloaden in einem anderen Thread oder Prozess ablaufen lässt. |
|
|
| |
|
|
|
Hubert Binnewies | @IF Ich hab ihm die Dateien schon als PM geschickt, und hier hab ich etwas Zeit zum warten. Wenn es nicht klappt werde ich es mit nem Thread versuchen, aber ich glaube nicht das es so viel Sinn hat, denn da laufen ja 2 DLL´s und die Funktion der einen sollte die andere eigendlich nicht beeinträchtigen, zumal es eine ist die das Blinken in einem eigenen Prozess erledigt (glaube ich, denn das wäre logisch, denn ansonsten würde der andere Programmablauf ja auch das Blinken behindern).
Hubert |
|
|
| WinXP Prof, XProfan 9.1 Newbie
Ein kluger Kopf sagte mal: "Nach dem derzeitigen Stand der Technik ist es unmöglich Programme zu schreiben, die fehlerfrei laufen!" | 24.10.2006 ▲ |
|
|
|
|
| [quote:819e78bc26]denn da laufen ja 2 DLL´s und die Funktion der einen sollte die andere eigendlich nicht beeinträchtigen[/quote:819e78bc26]Nun doch weil beide laufen innerhalb eines Prozesses. Wenn eine der DLLs blockiert - oder Dein XProfanprogramm blockiert - legt es natürlich den gesammten Prozess lahm. Demzufolge würde Dir das Ausweichen auf einen anderen Thread wohlmöglich auch nicht viel bringen, weiche auf einen anderen Prozess aus. Das ist sogar sehr einfach Wart ich bau Dir mal ein Beispiel... |
|
|
| |
|
|
|
| Tjo hier mal ein Sample bei dem Dein Blinkstatic niemals würde aufhören zu blinken und Du könntest sogar einen Timeout einbauen und den Downloadprozess nötigenfalls selbst terminieren wenns zu lange dauert... KompilierenMarkierenSeparieren {$cleq} programm sollte ausschliesslich als EXE, nicht als prf oder prc laufen gelassen werden
include download.pcu = dw.
include pipe.pcu = pipe.
include usermessages.pcu = um.
if parcount==2
if par$(1)=="loadFromInternet"
app.loadFromInternet
endif
endif
cls
print "Jut, dann laden wir mal..."
print "einen Moment bitte..."
print "Die XProfan-Community benötigt ";substr$(downloadFromInternet("https://www.xprofan.com/siz"),1,chr$(9));" Festplattenkapazität."
print "Taste..."
waitkey
end
proc downloadFromInternet(s$)
declare pipe&,sid$,result$
sid$:=str$(gettickcount)
pipe&:=pipe.create(sid$)
pipe.push pipe&,s$
pipe.push pipe&,str$(hwnd)
shell par$(0)+" loadFromInternet "+sid$
um.add 7788
while (pipe.get(pipe&)<>"done") and (umessage<>7788)
waitinput
wend
um.sub 7788
sleep 100
pipe.pop pipe&
result$:=pipe.pop(pipe&)
pipe.close pipe&
return result$
endproc
proc app.loadFromInternet
declare sid$,pipe&,url$,result$,hwnd&
sid$:=par$(2)
if pipe.is(sid$)
pipe&:=pipe.create(sid$)
url$:=pipe.pop(pipe&)
hwnd&:=val(pipe.pop(pipe&))
result$:=dw.get(url$)
pipe.push pipe&,"done"
pipe.push pipe&,result$
pipe.close pipe&
sendmessage(hwnd&,7788,0,0)
endif
end
endproc
|
|
|
| |
|
|
|
Hubert Binnewies | Hmmmmm... zuerstmal... was bedeutet das : {$cleq} ?? ich denke mal XProfan 10???....hab ich nicht..nur 9.1
Dann.... Ich hab mal hier irgendwo gelesen das man das XPSE verwendet indem man in den Einstellungen vom ProfanPad einfach den XPSE als Interpreter,Runtime und Compiler angibt.... Hab ich gemacht...und ich hab nur ne Fehlermeldung bekommen...(Error missing Filename)
Dann könnte ich dein Beispiel näher unter die Lupe nehmen...
Hubert |
|
|
| WinXP Prof, XProfan 9.1 Newbie
Ein kluger Kopf sagte mal: "Nach dem derzeitigen Stand der Technik ist es unmöglich Programme zu schreiben, die fehlerfrei laufen!" | 24.10.2006 ▲ |
|
|
|
|
| IF proggt alles gerne über seinen XPSE, um etwas Werbung zu machen . |
|
|
| |
|
|
|
| [quote:9dd4a05520=Andreas Hötker]IF proggt alles gerne über seinen XPSE, um etwas Werbung zu machen .[/quote:9dd4a05520] Ja auch - aber Du wirst lachen das ist nichtmal der Hauptgrund. Der Hauptgrund ist das ich mit XPSE einfach schneller bin, die Programme laufen zuverlässiger weil weniger Fehler drinn sind, die Syntax tippt sich besser und das Kompilieren der Programme durch den XProfankompiler geht auch noch deutlich schneller.
Der XPSE entsteht ja nicht weil ich für etwas werbung machen möchte was eh kostenlos für jedermann erhältlich ist, sondern um mir selbst das Leben ein Stückchen leichter zu machen. Wer nicht partizipiert ist nur nicht reif genug.
@Hubert: XPSE kannst Du als Interpreter und/oder als Kompiler angeben, das ist egal - es obligt Dir welche Tastenkombination Du letztendlich für den XPSE verwenden willst. Wichtig ist nur das XPSE auch als Parameter den Dateinamen aus dem Editor übergeben bekommt. Meiner Meinung nach gabs da im ProfanPAD doch noch nie Probleme oder?
Hab in der Hilfe zum XPSE glaube auch den Part ProfanPAD angeschnitten...
{$cleq} sind XPSE-Kompilerschalter , 4 Stück sogar in Summe. (Die Shorties) C.ompilieren L.inken E.xe ausführen Q.uiet (klappe halten). So rattert XPSE in einem Durchgang alle diese Operationen durch. Eine Taste im ProfanPad gedrückt und der Rest passiert von alleine...
Da ich das Projektfile der chm-Hilfedatei mit nem Festplattenabsturz verloren habe werde ich die Hilfe zum xpse in die ODoku übernehmen. |
|
|
| |
|
|
|
| Du hast die größere Suicherheit des fertigen Compilats vergessen . |
|
|
| |
|
|
|
| [quote:855f85dca3=Andreas Hötker]Du hast die größere Sicherheit des fertigen Compilats vergessen .[/quote:855f85dca3] Ähäm! Und wie Andreas erst neulig bewiesen hatte - die Kompilate sind sicherer gegen Angriffe wie z.B. das Austauschen von Prozeduradressen um fremden Code in den eigenen Prozess zu injezieren.
So Andreas? |
|
|
| |
|
|
|
| Jö . |
|
|
| |
|
|
| |
|
- Seite 2 - |
|
|
Sebastian König | Ich habe den Code gerade ausprobiert: Bei mir hört da irgendwie gar nichts auf zu Blinken... erst ist der Dialog für ca. 4s da, dann wird er geschlossen und im Fenster steht
ab hier die Webanfrage Webanfrage mit fehler beendet
Uns solange der Dialog angezeigt wird, blinkt das Static brav vor sich hin... |
|
|
| |
|
|
|
Hubert Binnewies | @IF Dann werde ich mal den Fehler bei mir suchen... Ich hab das ProfanPad3.6..
@Sebastian Dann werde ich mal den Fehler bei mir suchen, denn wenn du genau hinschaust(in den profancode, ich habe erstmal 3 Sekunden Wartezeit eingefügt damit der überhaupt erstmal blinkt...aber dann dauert es etwa 10 sekunden bis das suchen der Webadresse beendet ist...wenns bei dir so schnell geht, muss bei dir irgendetwas anders sein als bei mir....ich such mal...
Hubert |
|
|
| WinXP Prof, XProfan 9.1 Newbie
Ein kluger Kopf sagte mal: "Nach dem derzeitigen Stand der Technik ist es unmöglich Programme zu schreiben, die fehlerfrei laufen!" | 24.10.2006 ▲ |
|
|
|