Allgemeine Fragen zur PROFAN Programmierung
Views (Heute): 249272 (10708)
  Suchen
 Zurück zur Übersicht
 AutorThema: MessageBug ?
Moritz Kersten
Datum:30.12.01 16:58 Antwortenals Email verschicken (IsNoGood2000@aol.com) 


Hallo,

kann es sein das im Profan-Compiler noch ein Bug drin steckt ?
Probiert mal folgende Messagebox aus:

que%=@messagebox("Dies ist ein Test Text. Wenn ich die Messagebox mit irgendeinem Text vollschreiben müsste, würde es wohl dieser sein. Also schreibe ich hier solange weiter bis dieser Fehler, der mich halb in den Wahnsinn getrieben hat, auftritt. Leider tritt er bis jetzt noch nicht auf und deswegen muß ich noch weiter tippen. Da ist er ja !","Hinweis:",4)

Wenn ihr den Code jetzt compilieren wollt tritt ein EAccess... Fehler in ProfComp.exe dabei auf, Funktioniert im Interpreter-Modus aber einwandfrei !
Wenn man die Variablen zuweisung weglässt geht es auch.

Das ist übrigens ein sehr hinterlistiger Fehler !
Er tritt nicht immer auf, auch wenn man irgendwo im Programm irgendwas ändert was garnichts damit zu tun hat, und ist wohl auch irgendwie von der Zeilennummer abhängig, den er wurde sogar von einem hinzugefügten Kommentar ausgelöst !
In der Hilfe staht ja das das Fassungsvermögen einer Mesagebox begrenzt ist aber ich hatte bereits Messageboxen mit 4mal soviel Text, allerdings ohne Variablen zuweisung.
Ich habe Stunden gebraucht um herauszufinden das es an dieser Messagebox liegt, da, wenn der Fehler während des compilierens auftritt, noch schwieriger auszumachen ist.
Konnte mir im Endeffekt nur so helfen indem ich irgendwas unsinniges, was Profan nicht kennt, ins Programm geschrieben habe und compiliert habe und guckte ob dieser Fehler davor auftritt oder nicht.

Was hat es damit auf sich ?
Moritz


Norbert Spörl
Datum:31.12.01 13:27 Antwortenals Email verschicken (nsp_ware@t-online.de) 


Es ist kein spezieller Bug bezüglich MessageBox. Der Fehler tritt bei mir (Profan 7.0e) auch bei anderen Konstruktionen auf. Und zwar dann, wenn rechts von einer Variablen-Zuweisung zu viele Zeichen stehen (größer 260 bis 265 Zeichen). Ob mit Umbruchzeichen "\" oder ohne - spielt keine Rolle.

Das Ganze widerspricht der Angabe über Zeilenlängen in der Profan-Hilfe.

Allen Profan-Fans einen guten Rutsch ins 2002er !!!

Norbert



Jörg Sellmeyer
Datum:31.12.01 14:22 Antwortenals Email verschicken (joerse@gmx.de) 


Hallo,
So geht's auf jeden Fall:
declare text$,que%
text$="Dies ist ein Test Text. Wenn ich die Messagebox mit irgendeinem Text voll"
text$=text$ + "schreiben müsste, würde es wohl dieser sein. Also schreibe ich hier solange weiter bis dieser Fehler"
text$=text$ + ", der mich halb in den Wahnsinn getrieben hat, auftritt. Leider tritt er bis "
text$=text$ + "jetzt noch nicht auf und deswegen muß ich noch weiter tippen. Da ist er ja !"
que%=@messagebox(text$,"Hinweis:",4)

Guten Rutsch
Jörg


Sven Schmidts
Datum:31.12.01 17:53 Antwortenals Email verschicken (schmidts@flat2serv.de) 


Eine komplette Codezeile darf in Profan² eine Länge von 255 Zeichen (erinnere ich mich richtig?) nicht überschreiten. Das liegt daran (denke ich mal), dass der Interpreter die Befehle zeilenweise einliest und in Delphi 1 Strings nur 255 Zeichen lang sein dürfen (ausser PChar).

Im PrfPad wird eine Zeile übrigens komplett rot markiert, sobald mehr Zeichen als erlaubt eingegeben werden. Dass aber nur als kleine Bemerkung ;)

Mfg.
Sven Schmidts


Norbert Spörl
Datum:01.01.02 11:21 Antwortenals Email verschicken (nsp_ware@t-online.de) 


Euere letzten 2 Beiträge gehen meiner Meinung nach am Thema vorbei. Es geht doch wohl darum, ob hier seitens Profan ein Fehler vorliegt oder nicht.

1. Sollten Interpreter und Compiler nicht unterschiedlich reagieren.
2. Steht in der Hilfe unter Punkt 14 (Profan 7.0), daß "... eine Programmzeile über mehrere Bildschirmzeilen darf nicht länger als 32767 Buchstaben sein." Zweihundertpaarundsechzig sollten so keinen Schwierigkeiten machen.
3. Kommt es scheinbar nur zum Fehlerereignis, wenn es sich dabei um eine Variablenzuweisung handelt.

Gesundes neues Jahr !

Norbert


Jörg Sellmeyer
Datum: 01.01.02 12:24 Antwortenals Email verschicken (joerse@gmx.de) 


Du hast natürlich recht. Wenn man einen Bug umgehen kann,
bleibt er immer noch ein Bug aber man kann wenigstens
weiterarbeiten.

>Gesundes neues Jahr !
Dem kann ich mich vorbehaltlos anschließen
Jörg


 Zurück zur Übersicht