Deutsch
Forum

<while %loading> bringt Interpreter und EXE zum Absturz.

 

Martin
Kempf
Ich lasse diesen Code in einer Schleife laufen und einen Schwung Abfragen übers Netz durchführen:
ElseIf @MenuItem(3484)'Test

if val(SolarSystemID$) > 0

    hGrid& = @create("Grid",8,0)
    angzeilen& = GetLines(OLView&)

    whileloop angzeilen&

        GetItemText(OLview&, bereich#, 5,&Loop)
        Prim$ = @Trim$(string$(bereich#,0))'PrimKey
        X$ = "SELECT MWert2 from MAT WHERE MTyp = 'O' AND MKey = '"+Prim$+"'"'TypID holen
        clearlist
        i% = @db("fbSQLExec", ep&, X$, hGrid&)

        if i% > 0'TypID gefunden.

            Y$ = GetText$(hGrid&,0,0)

            if val(Y$) > 0

                Url$ = "https://api.eve-central.com/api/quicklook?typeid=" + Y$ +"&usesystem="+SolarsystemID$
                i% = downloadfile(Url$, "TMP.TXT")

                if i% > 0

                    clear x&

                    while %loading

                        x& = &bytesread

                    endwhile

                endif

            endif

        endif

    endwhile

endif


Jetzt stürzt mir der Interpreter (oder auch die Exe) zu unterschiedlichen Zeitpunkten bei der Ausführung des Codes innerhalb der while %loading Schleife ab, nachdem der Download erfolgreich gestartet wurde und nur ne kleine Textdatei zurückkommt.
Was könnte die Ursache sein?
 
03.01.2016  
 



Probiere mal diese Funktion:

(ungetestet hier in den Editor geschrieben)

und ersetze Dein:
Url$ = "https://api.eve-central.com/api/quicklook?typeid=" + Y$ +"&usesystem="+SolarsystemID$
i% = downloadfile(Url$, "TMP.TXT")

if i% > 0

    clear x&

    while %loading

        x& = &bytesread

    endwhile

endif


in:
dwget("https://api.eve-central.com/api/quicklook?typeid=" + Y$ +"&usesystem="+SolarsystemID$,"tmp.exe")
 
03.01.2016  
 




Martin
Kempf
das nenn ich ne prompte Hilfe: danke dafür. Das scheint die Lösung zu sein - ich bekomm jetzt keinen Fehler mehr. Und es reicht völlig aus, wenn ich in die <while %loading> Schleife das <waitinput 50> einfüge, mehr muss ich am Code nicht ändern. Nur verrat mir mal, was <waitinput 50> eigentlich macht? Und hab ich da was in der XProfan-Hilfe nicht gefunden?
 
03.01.2016  
 



Ca. 50ms warten und Threads Zeit geben.

Da hier ein Absturz sonst folgt, nehme ich an, dass Roland die Kommunikation mit seinem Download-Thread nicht wirklich threadsicher programmiert hat. (hatte ich aber schon einmal festgestellt)
 
03.01.2016  
 



Habs wieder gefunden, ist von 11/2014:  [...] 
 
03.01.2016  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

4.981 Betrachtungen

Unbenanntvor 0 min.
p.specht23.12.2020
Peter Max Müller05.03.2017
Rc19.01.2016
iF13.01.2016
Mehr...

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

iF (3x)
Martin Kempf (2x)


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