| |
|
|
- 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: [...] KompilierenMarkierenSeparierenClass 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 |
|
|
| 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. |
|
|
| |
|
|
|
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. |
|
|
| |
|
|
|
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. |
|
|
| |
|
|
|
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. ;) |
|
|
| |
|
|
|
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. |
|
|
| |
|
|