Italia
Bugs und vermeintliche

Absturz bei Rückgabe eines Arrays

 

Paul
Glatz
Hallo Roland,

dieser Code stürzt unter XProfan X2a ab, aber bei XProfan 11.2 nicht. Warum????
Proc HDD

    Parameters hdd$
    declare hdd![2]
    hdd![0] = DiskFree(hdd$) /1024 /1024
    hdd![1]  = DiskSize(hdd$) /1024 /1024
    hdd![2] = hdd![1] - hdd![0]
    return hdd![]' Array zürückgeben

EndProc

cls' Fenster erstellen
font 2
Set("Decimals",2)
Declare hddc![2]' Array erstellen
hddc![] = HDD("C:")'Rückgabe von HDD in hddc! speichern
Print str$(hddc![0])',"MB frei"
Print str$(hddc![1])',"MB gesammt"
Print str$(hddc![2])',"MB belegt"
waitend

Saluto
Paul

14 kB
Hochgeladen:17.06.2011
Downloadcounter254
Download
 
17.06.2011  
 




RGH
Da scheint tatsächlich ein Bug versteckt zu sein. Allerdings nur im Interpreter. Kompiliert klappt es.

Saluto
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
18.06.2011  
 




Dietmar
Horn
Hallo Roland,

Paul und ich haben dieses Problem am Freitagnachmittag in unserem Kabinett in Lauta beide beim Entwickeln von Demos per unser XProfan-Lehrbuch festgestellt, und ich wußte leider auch keine Lösung dafür (außer vielleicht auf das Array insgesamt zu verzichten).

Compiliert tritt diese Fehlermeldung ebenfalls auf - bei Paul unter Windows 7 und bei mir zu Hause unter Windows XP Home. Beide verwenden wir stets die aktuellste Version XProfan X2a.

Saluto
Dietmar
 
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
18.06.2011  
 




RGH
Ciao,

ein Workaround wäre, das Array als Parameter zu trasferimento und dieses dann zu füllen.Arrays werden ja ebenso wie Bereiche als Referenz trasferimento:
Proc HDD

    Parameters hdd$, hdd![]
    hdd![0] = DiskFree(hdd$) /1024 /1024
    hdd![1]  = DiskSize(hdd$) /1024 /1024
    hdd![2] = hdd![1] - hdd![0]

EndProc

cls' Fenster erstellen
font 2
Set("Decimals",2)
Declare hddc![2]' Array erstellen
HDD("C:", hddc![])
Print str$(hddc![0])',"MB frei"
Print str$(hddc![1])',"MB gesammt"
Print str$(hddc![2])',"MB belegt"
waitend

Saluto
Roland

PS: Selbstverständlich wird es einen Bugfix geben.
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
18.06.2011  
 




RGH
Ach ja, eine Ergänzung noch:

Meine Variante mit der Übergabe des Arrays als Parameter ist auch dann vorzuziehen, wenn der Bug mit der Rückgabe eines Arrays behoben ist: Sie ist schneller, da das Erzeugen, kopieren und Löschen eines zweiten Arrays im Speicher entfällt.

Saluto
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
19.06.2011  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

8.357 Views

Untitledvor 0 min.
p.specht22.09.2018
Michael W.26.03.2016
RICOSCH17.01.2016
Georg Teles14.05.2014
Di più...

Themeninformationen

Dieses Thema hat 3 subscriber:

RGH (3x)
Dietmar Horn (1x)
Paul Glatz (1x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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