Deutsch
Bugs und vermeintliche

Bug: Variablenoptimierung quasi unbrauchbar

 

Jörg
Sellmeyer
Das bischen Code läuft im Interpreter wie erwartet durch. Wenn ich es versuche, zu kompilieren, friert der Compiler einfach ein und stürzt ab.
Wenn ich dagegen Var X& benutze, funktioniert es!
KompilierenMarkierenSeparieren
Class EinTest = EinTest@,
hParent&,
br%,
x%

Proc EinTest.EinTest

    Parameters cc%
    .hParent& = %hwnd
    .x% = cc%
    .br% = Width(.hParent&) - 2 * .x%

EndProc

Cls
Declare aa#
AA# = New(EinTest,2)

With AA#

    Var x% = .br%  das knallt
    Var X& = .br%  das funktioniert

EndWith

print x%
waitinput
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
05.09.2008  
 




Jörg
Sellmeyer
Interressanterweise geht es, wenn die Compilierung via XPSE erfolgt. Wenn ich den Code dann aber wieder im Editor lade, knallt es wieder.
Könnte das mal jemand testen? Vielleicht stimmt ja auch was mit meiner Konfiguration plötzlich nicht mehr. Obwohl der Compiler Version 11 anzeigt.
KompilierenMarkierenSeparieren
proc __xpse__endofprogram__

    PARAMETERS exitcode&
    REM {{SOMEEXTRAENDCOMMAND}}
    case %pcount=1 : end exitcode&
    end

endproc

DECLARE AA#,BB#
class EINTEST=EINTEST@,HPARENT&,BR%,X%
struct TEST=H%

proc EINTEST.EINTEST

    PARAMETERS CC%
    .HPARENT&=%HWND
    .X%=CC%
    .BR%=WIDTH(.HPARENT&) - 2 * .X%

endproc

CLS
DIM BB#,TEST
AA#=NEW(EINTEST,2)
BB#.H%=10

WITH AA#

    VAR X%=(.BR%)

ENDWITH

VAR G%=BB#.H%
PRINT X%
PRINT BB#.H%,G%
WAITINPUT
__xpse__endofprogram__
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
05.09.2008  
 



Hm, beide Beispiele laufen bei mir jeweils mit und ohne XPSE und jeweils im Interpreter und als Exe ohne Probleme.
 
05.09.2008  
 




Sebastian
Sprenger
Beide Codes laufen im XProfan-11-Interpreter, -Compiler und in der -Runtime ohne XPSE perfekt.
 
Profan² 7.0e, XProfan 9, 11.2a, FreeProfan32
Windows Vista Home Premium 32-Bit, 2.8 Ghz, 4 GB RAM
Windows Me, 1.8 Ghz, 256 MB RAM
05.09.2008  
 




Jörg
Sellmeyer
Ok - ich habs rausgefunden. Danke für die Tests - so wars dann klar, daß es an meiner Konfiguration lag. Ich hatte diese vermaledeite Variablenoptimierung versehentlich aktiviert. Dann stürzt der Compiler kommentarlos ab.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
05.09.2008  
 



Jojo, Rolands Variablenoptimierung ist tatsächlich mit Vorsicht zu geniessen.

Vlt. könnte jemand einen Effizienztest durchführen welcher aufzeigt wie tatsächlich effizienter ein derart optimierter Code ist. Für den Fall das es sich lohnt die Variablen "klein"zuoptimieren würde ich dem XPSE das einfach beibringen.
 
05.09.2008  
 




Sebastian
Sprenger
iF
Für den Fall das es sich lohnt die Variablen "klein"zuoptimieren

Würde ich sagen, dass es das tut... Siehe Anhang.
Jemand hatte in Rolands Forum, als es noch bei Webmart war, sogar eine DLL oder sonst ein Tool geschrieben, um Variablennamen zu optimieren.

1 kB
Hochgeladen:05.09.2008
Ladeanzahl104
Herunterladen
27 kB
Hochgeladen:05.09.2008
Ladeanzahl154
Herunterladen
 
Profan² 7.0e, XProfan 9, 11.2a, FreeProfan32
Windows Vista Home Premium 32-Bit, 2.8 Ghz, 4 GB RAM
Windows Me, 1.8 Ghz, 256 MB RAM
05.09.2008  
 



Lohnt sich also sogar sehr, danke für den Test.

Bleibt nur die Frage an Roland: Hast Du vor ein BugFix aufzulegen oder macht es eher Sinn dem XPSE dies beizubringen?
 
05.09.2008  
 




Jörg
Sellmeyer
Es würde ja schon reichen, wenn er sie auf, sagen wir mal vier Zeichen kürzt.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
05.09.2008  
 



Die Zeichen werden maximal gekürzt, mal schauen ob es ein ASCII gibt welcher zum Tragen eines Variablennamens geeignet ist, sonst aber nicht verwendet wird in Quellcodes. (z.B. weil man das Zeichen nicht per regulärer Taste hervorrufen kann oder nicht benutzt wird als Bezeichner)

Und tatsächlich - habs probiert, ASCII128 (das Euro-Zeichen) ist geeignet
KompilierenMarkierenSeparieren
declare1$
€1$="test"
print1$
waitkey
end

da es vom XProfan-Parser innerhalb von Bezeichnern akzeptiert wird.
 
05.09.2008  
 




René
Wagner
Moin,

ich würde doch stark dafür plädieren das Roland (mit Unterstützung von iF?) das ganze im "Standard" bugfixed.

Gruß René
 
Mit XProfan erstellte Freeware findet ihr hier:  [...] 

US World Domination Tour - bombing a country near you...
06.09.2008  
 



Ich glaube nicht, dass Roland meine Hilfe benötigt, gleichwohl er sich dem Problem aber bestimmt (leider) auch nicht die nächsten Tage annimmt.
 
06.09.2008  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

17.744 Betrachtungen

Unbenanntvor 0 min.
RudiB.27.10.2021
Jörg Sellmeyer04.11.2011

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