Deutsch
SKControl.DLL

SKCtrl_CreateClrBlinkStatic blinkt nicht

 

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  
 




Sebastian
König
Hallo Hubert,

kannst Du mir dazu bitte einen Testcode inkl. der benötigten DLL schicken, damit ich mir das mal genauer ansehen kann?

Ich befürchte aber fast, dass die DLL während der Wartezeit das aufrufende Programm komplett blockiert - in dem Fall könnte man da wohl nichts machen...

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
24.10.2006  
 



Hubert könnte sich behelfen indem er das Downloaden in einem anderen Thread oder Prozess ablaufen lässt.
 
24.10.2006  
 




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...
 
24.10.2006  
 



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


737 kB
Hochgeladen:24.10.2006
Ladeanzahl90
Herunterladen
 
24.10.2006  
 




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 .
 
24.10.2006  
 



[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.
 
24.10.2006  
 



Du hast die größere Suicherheit des fertigen Compilats vergessen .
 
24.10.2006  
 



[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?
 
24.10.2006  
 



.
 
24.10.2006  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

6.880 Betrachtungen

Unbenanntvor 0 min.
Erfurt31.12.2016
Georg Teles27.01.2016

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie