Deutsch
Bugs und vermeintliche

Problem mit Funktionen als Parameter

 

Uwe
''Pascal''
Niemeier
Hi Leute, hallo Roland!

Bin wieder mal auf ein unerwartetes Verhalten in der aktuellen Version gestoßen

Anscheinend gibt es Probleme, wenn der Therm mancher Funktionen - ohne das Ergebnis einer Variablen zuzuweisen - in irgend einer Form direkt verarbeitet werden soll:
KompilierenMarkierenSeparieren
window 500,500
print val("")
var Liste&=create("list",0)
print val(getstring$(Liste&,10))
print val(getstring$(Liste&,123))
print val("")
waitkey

Das mit dem Leestring bei Val() kann man ja noch als Fehlbedienung interpretieren (obwohl es sicherlich sinnvoll wäre, dies intern abzufangen), aber was ist hiermit:
KompilierenMarkierenSeparieren
window 500,500

proc Test1'------------------Test1

    '--nur ein Dummy

endproc'-------------------------

proc Test2'------------------Test2

    parameters Proc&
    print Proc&

endproc'-------------------------

print procaddr("Test2",1)
Test2(procaddr("Test1",1))
print procaddr("Test2",5)
Test2(procaddr("Test1",5))
waitkey

Bin mir nicht sicher, ob bei beiden Beispielen der gleiche Effekt zugrunde liegt, aber weil offensichtlich als Ergebnis etwas ausgegeben wird, was eigentlich Parameter der Funktion war...
Jedenfalls trat es bei der letzten 11'er-Version noch nicht auf.

SeeYou
Pascal
 
01.05.2011  
 




RGH
Hallo,
ich werde mir das nach meiner Schulung (vom Arbeitgeber verordnet ;) ) in Hamburg mal näher ansehen.

Gruß
Roland
(schon beim Packen)
 
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
01.05.2011  
 




RGH
Problem 1: Val()

Für Ganzzahlen hat Val() tatsächlich einen Bug, wenn das Argument ein Leerstring ist und man das Ergebnis einem Quad zuweist oder mit Print ausgibt. Der Quad-Wert wurde nicht initialisiert und bei Ganzzahlen nutzt Print den Quadwert.

Gut, dass diese Kombination selten bis gar nicht im wirklichen Leben vorkommt, weil Quads in bisherigen Programmen vor Version X2 ja noch nicht vorkommen können.

Problem 2: ProcAddr()

Ein ähnliches Problem: Das Funktionsergebnis wurde nur dem Long-Wert des Ergebnisses, aber nicht dem Quad-Wert zugewiesen.

Es wird ein Bugfix geben, in dem die Probleme (neben dem MAT-Bug) korrigiert sind.

Gruß
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
10.05.2011  
 




Jörg
Sellmeyer
Hat es hier mittlerweile eigentlich besagten Bugfix gegeben?
 
XProfan X3
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
01.06.2018  
 




RGH
Jörg Sellmeyer (01.06.2018)
Hat es hier mittlerweile eigentlich besagten Bugfix gegeben?


Warum testest Du nicht selbst? ;)

Gruß
Roland
 
XProfan X3
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
01.06.2018  
 




Jörg
Sellmeyer
Weil im Code nicht beschrieben ist, wie sich der Fehler auswirkt und ich nur raten kann, ob die Ausgabe jetzt so korrekt ist oder nicht.
Da das Thema aber auf erledigt steht, gehe ich mal davon aus, dass der gewissenhafte XProfanautor das so korrekt gesetzt hat
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
01.06.2018  
 




RGH
Damit hast Du wohl recht!
 
XProfan X3
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
01.06.2018  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

9.290 Betrachtungen

Unbenanntvor 0 min.
Stringray05.01.2022
Rolf Koch15.01.2020
Thomas Zielinski31.08.2019
Pedro Miguel17.05.2019
Mehr...

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