Italia
Bugs und vermeintliche

Bug: Variablenoptimierung quasi unbrauchbar

 

Jörg
Sellmeyer
Das bischen Code corre 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 Io l' 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 per 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. potuto 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 Foro, als es noch bei Webmart war, sogar eine DLL oder sonst ein Tool geschrieben, um Variablennamen zu optimieren.

1 kB
Hochgeladen:05.09.2008
Downloadcounter104
Download
27 kB
Hochgeladen:05.09.2008
Downloadcounter154
Download
 
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 per 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
/pre>

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.

Saluto 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 Aiuto necessario, gleichwohl er sich dem Problem aber bestimmt (leider) auch nicht die nächsten Tage annimmt.
 
06.09.2008  
 




Answer


Topictitle, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

17.717 Views

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

Themeninformationen



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