Deutsch
Forum

Bitte einmal diesen Code testen (XProfan11.0ß S2)

 
- Seite 1 -



Jörg
Sellmeyer
Mit der aktuellen Subscriptionsversion stürzt der Code ab.
Ich habs noch als .prf angehängt, falls es hier durch die Formatierung irgendwie beeinflußt wird.
Dazu auch mal diese Nachricht im XProfan-Forum lesen: [...] 
KompilierenMarkierenSeparieren
Class Fond = Name$(41),
Ident$(21),
Anzahl%,
Datum$(9),
WertSingle!,
WertSumme!,
Fond@,
ShowValues@

Proc Fond.Fond

    Parameters Werte$
    .Name$ = SubStr$(Werte$,1,|)
    .Ident$ = SubStr$(Werte$,2,|)
    .Anzahl% = Val(Translate$(SubStr$(Werte$,3,|),.,))
    .Datum$ = SubStr$(Werte$,4,|)
    .WertSingle! = Val(Translate$(Translate$(SubStr$(Werte$,5,|),.,),,,.))
    .WertSumme! = Val(Translate$(Translate$(SubStr$(Werte$,6,|),.,),,,.))

EndProc

Proc Fond.ShowValues

    Var s$ = Name$(40) =  + .Name$ +
    Ident$(20) =  + .Ident$ +
    Anzahl% =  + Str$(.Anzahl%) +
    Datum$(8) =  + .Datum$ +
    WertSingle! =  + Str$(.WertSingle!) +
    WertSumme! =  + Str$(.WertSumme!)
    MessageBox(s$,Fond,64)

EndProc

Window 0,0 - 900,400;1
Declare TestWerte$,MyTest$,T#,Test#[2]
TestWerte$ = 1|2|3|4|5|6
MyTest$ = SubStr$(TestWerte$,1,COMINVEST TOT.RET.PROTECT)
print Eins:,MyTest$
MyTest$ = SubStr$(TestWerte$,1,Nur ein Test)
Wenn ich HINTER die obenstehende Zeile ein Hochkomma setze, funktioniert es!
print Zwei:,MyTest$
t# = New(Fond,MyTest$)

With T#

    .ShowValues()das hier knallt
    das Weitere funktioniert
    Print .Name$,
    .Ident$,
    .Anzahl%,
    .Datum$,
    .WertSingle!,
    .WertSumme!

EndWith

WaitInput
Dispose Test#[]
Dispose T#
End

Gruß
Jörg

2 kB
Hochgeladen:30.10.2007
Ladeanzahl125
Herunterladen
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
30.10.2007  
 



 
- Seite 2 -


Du meinst ein Absturz? Teste doch mal mit {$debug} und schau dann ins debugfile WO er sich aufhängt.
 
31.10.2007  
 




Jörg
Sellmeyer
Wo es knallt, ist leicht zu finden: Setz einfach ein TraceOn zwischen With ... und .ShowValues():
With T#
traceon
.ShowValues()das hier knallt

Um auszuschließen, daß ich in der Prozedur Blödsinn geschrieben habe, kannst Du dort noch als erste Zeile Return 1 reinschreiben...
Die Trace-Messagebox meldet noch Zeile xx:.ShowValues() und das wars.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
31.10.2007  
 



Bei läufts aber Vlt. nimmst trotzdem mal die Debugvariante und postest hier die Ausgabe/das Debugfile.
 
31.10.2007  
 




Jörg
Sellmeyer
Mit dem Profandebugger an, kommt kein Absturz.

Und XPSE taugt ja auch nicht wirklich als Debugger in dem Fall, da ja beim Compilieren immer die Zeile Window .... zerlegt wird und die 1 abgetrennt wird.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
31.10.2007  
 



Hrm das macht XPSE ja auch völlig korrekt denn Window kennt IMHO nur 4 Parameter! Warum sollte XPSE hier nix taugen wenn er doch schon auf einen vorhandenen Fehler hinwies? Ich arbeite ausschließlich mit dem XPSE-Debug und meine eine bessere DebugMöglichkeit gibt es für XProfan garnicht.
 
31.10.2007  
 




Jörg
Sellmeyer
Oha! Bin ich blöd. Jetzt habe ich tausendmal die Zeile gelesen und nie bemerkt, daß das der Fehler ist!!!!
Ich habe immer SetWindowPos dabei im Kopf gehabt mit dem optionalen Parameter.
Jetzt läufts natürlich. Ich habe XPSE nur zum Compilieren eingestellt und nicht als Interpreter, darum war das nicht eher aufgefallen.
Tut mir leid für den Alarm, aber vielleicht kann Roland das als Fehlermeldungsoptimierung verwenden
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
31.10.2007  
 



Sicherlich nicht blöd, aber das fehlende Vertrauen zum kleinen xpse habe ich sehr wohl bemerkt.

PS: Ausschliesslich mit {$cleq} arbeiten. Ist man schneller in Summe. ;)
 
31.10.2007  
 




Dieter
Zornow
Ich habe noch einmal getestet, mit dem XPSE läuft das Programm einwandfrei, weil es ja umgeschrieben wird. Wenn ich anschließend die .enh Datei starte läuft diese auch unter reinem XProfan.
Ich denke es hängt irgendwie mit den Zeilen und der Schreibform zusammen, vielleicht das unbegrenzte XProfan. Als Exe läuft auch das Programm von Jörg ja auch ganz durch. Es ist zwar seltsam aber eine andere Erklärung kann ich mir nicht vorstellen. Vielleicht mal testen ob sich durch umstellen der Zeilen in Jörgs Programm etwas verbessert. Habe aber keine Zeit im Augenblick, ist schon nach 19:00 und ich gehe etwas Halloween feiern.

Gruß aus Bangkok

Dieter
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
31.10.2007  
 




Jörg
Sellmeyer
Ersetze mal die Zeile Window 0,0 - 900,400;1 durch Window 0,0 - 900,400
Ich hab auch lange gebraucht, bis ich es geschnallt habe.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
31.10.2007  
 




RGH
Das ;1 beim Windowbefehl hat mit dem Problem des Programmes gar nichts zu tun.
Bei Befehlen nimmt XProfan so viele Parameter wie gebraucht werden und macht dann mit den nächsten Programmzeile weiter. Überzählige Parameter werden einfach ignoriert und stören nicht. Man könnte theoretisch auch noch einen Roman dahinter schreiben. ;)

Zum eigentlichen, äußerst mysteriösen Problem:

Der Absturz tritt exakt nur dann auf, wenn eine der beiden Zeilen mit der SubStr$()-Funktion eine Länge zwischen 44 und 51 Zeichen hat. (Führende Leerzeichen vor dem MyTest = zählen da nicht mit, da diese der Interpreter schon beim Einlesen des Codes eliminiert.)

Seit gestern abend suche ich verzweifelt nach einem logisch erklärbaren Zusammenhang zwischen der Länge der Programmzeilen und dem Absturz bei Aufruf der Methode.

Gruß
Roland

Nachtrag: Das gilt auch für einige andere Programmzeilen.
 
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
31.10.2007  
 




Jörg
Sellmeyer
Ok, bei mir lief es durch, aber nur solange ich im Debugmodus war. Ohne Debug knallts wieder.
Seeehr merkwürdig.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
31.10.2007  
 



hm 51-44 ist 7, 7 ist auch die Länge von mytest$, woran es genau liegt kann aber sicher nur Roland mit vielen Messageboxen ermitteln.
 
31.10.2007  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

6.509 Betrachtungen

Unbenanntvor 0 min.
Jörg Sellmeyer30.09.2014
Peter Max Müller27.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