Du muss unbedingt was bei den Fehlermeldungen ändern. Ich krieg immer wieder Meldungen mit "Variable nicht declariert: ..." im Titel und der Zeile im Meldungstext. Das sollte unbedingt andersherum sein, weil ich hier zum Beispiel nicht weiß, welche Variable nicht declariert ist (Text wird abgeschnitten). Das betrifft nicht nur Variablen, sondern alle anderen Fehlermeldungen auch. Muss unbedingt geändert werden!!!
Fehlermeldungen klarer
-
-
-
Zitat von Jac de Lad;710831
Du muss unbedingt was bei den Fehlermeldungen ändern. Ich krieg immer wieder Meldungen mit "Variable nicht declariert: ..." im Titel und der Zeile im Meldungstext. Das sollte unbedingt andersherum sein, weil ich hier zum Beispiel nicht weiß, welche Variable nicht declariert ist (Text wird abgeschnitten). Das betrifft nicht nur Variablen, sondern alle anderen Fehlermeldungen auch. Muss unbedingt geändert werden!!!
Huch!? Wie lang sind Deine Variablennamen, dass sie nicht mehr angezeigt werden?
Ich könnte natürlich prinzipiell den bisherigen Titel der Fehlermeldung als erste Zeile des Meldungstextes nehmen und die Titelzeile auf "XProfan Fehler" bzw. "XProfan Warnung" beschränken.
Ich werde es bei der nächsten XProfan ausprobieren. (Wenn nicht, erinnere mich dann noch einmal daran. )
Gruß
Roland -
Das ist es ja: Nicht sehr lang. Nur 3 Zeichen oder so. Aber es wird trotzdem abgeschnitten. Das ist mir schon öfters aufgefallen, aber heute trat es wegen eines neuen Projekts gehäuft auf und da war es schwierig die vielen Fehlermeldungen zu entziffern.
Jac:-)
-
Zitat von Jac de Lad;710908
Das ist es ja: Nicht sehr lang. Nur 3 Zeichen oder so.
Seltsam. Was hast Du da für Bildschirmeinstellungen? Bei mir muss der Name schon seeeehr lang sein, damit er abgeschnitten wird.
Gruß
Roland -
Ich hab Vista. Das formatiert vielleicht die Messageboxen anders. Hab ansonsten 1280*1024 eingestellt.
-
Zitat
Das formatiert vielleicht die Messageboxen anders
..und das wird bei WIN-7 schön weiter gemacht !Die grafischen Rahmen nehmen den Platz für die Anzeige weg !
Besser wäre in jedem Fall, wenn die Fehlermeldung als Text in der Messagebox gezeigt wird.
-
Ok, habe es bei mir schon eingeabaut. In der nächsten Version steht die bisherige Überschrift im Meldungstext, gefolgt von einer Leerzeile und dem bisherigen Meldungstext.
Gruß
Roland -
Danke.:-)
-
...schließe mich dem "Danke" an.
-
Apopo Meldungstext... Die Meldungstexte bei (Readini$ zum Beispiel) sind in keiner Weise aussagekräftig (jedenfalls in Versio 9). Wichtig wäre hier die Nummer des aufgetretenen Fehlers (GetLastError) und eine landesspezifische Fehlerbeschreibung dieses Fehler (FormatMessage).
Ein solches Vorgehen könnte dir beim Fixen von Bugs in XProfan sehr nützlich sein. -
Zitat von AHT;738725
Apopo Meldungstext... Die Meldungstexte bei (Readini$ zum Beispiel) sind in keiner Weise aussagekräftig (jedenfalls in Versio 9). Wichtig wäre hier die Nummer des aufgetretenen Fehlers (GetLastError) und eine landesspezifische Fehlerbeschreibung dieses Fehler (FormatMessage).
Ein solches Vorgehen könnte dir beim Fixen von Bugs in XProfan sehr nützlich sein.Mit dem Vorschlag bis Du zwei Versionen zu spät. Das gibt es schon seit XProfan 10. Ich zitiere aus der aktuellen Hilfe:
%WinError
%WinError
[RIGHT]Version 10.0[/RIGHT]
Der zuletzt von Windows gemeldete Fehler. Beim Auslesen wird %WinError auf 0 zurückgesetzt. Diese Systemvariable entspricht der Windows-API GetLastError und wird durch Aufrufe der Windows-API im Fehlerfall gesetzt. Da XProfan selbst zahlreiche Aufrufe der Windows-API beinhaltet, wird diese Systemvariable auch von zahlreichen XProfan-Funktionen gesetzt. Wenn man die Systemvariable verwenden möchte, um einen eigenen API-Aufruf zu überprüfen, sollte man sie daher vorher zurücksetzen, etwa durch "dummy% = %WinError".
Um den Fehlertext in der in Windows eingestellten Benutzersprache zu erhlten, ist die Funktion WinError$() zu verwenden.Gruß
Roland -
Hallo Roland...
So? Kann das nicht beurteilen... Was sagt denn dein %WINERROR bei diesem Fehler hier? -
Zitat von AHT;738893
Hallo Roland...
So? Kann das nicht beurteilen... Was sagt denn dein %WINERROR bei diesem Fehler hier?Wie gesagt: Momentan habe ich meinen Vista-Testrechner nicht im Zugriff. Aber probiere es doch einfach selbst aus. Wenn Du keine aktuelle XProfan-Version hast: Mit "XProfanFree 11" (siehe meine Downloadseite ) sollte das kein Problem sein!
Gruß
RolandPS: Hier der direkte Link zu XProfan Free 11: http://xprofan.de/download/xprofanfree.exe
-
Habe etwas gelogen - kann es doch beurteilen. %Winerror sagt bei mir 0.
Zum Testen des Sachverhalts benötigst du gar kein Vista, es reicht natürlich aus, auf jedem anderen
32-Bit OS einen Registrywert von mehr als 255 Zeichen zu erstellen und ihn dann mit Readini$ auszulesen.
Wenn deiner Meinung nach 0 (Der Vorgang wurde erfolgreich beendet.) eine klare Fehlerbeschreibung der Sache ist, dann brauchst du da natürlich nichts ändern - wobei ich sagen muss, das die Version, auf der ich getestet habe, nicht die aktuellste Version ist. -
Bei Readini wird der eingelesene Wert, der von dir geschrieben wird, bei mir einfach abgeschnitten, deshalb kommt wahrscheinlich 0, da ja etwas eingelesen wurde.
Beim originalen Wert kommt bei mir unter XP "%WinError 2" und "The operation completed successfully".
Auf jeden Fall scheint hier was nicht zu stimmen, da es ja unter XP den Schlüssel nicht gibt.
Habe jetzt nicht nachgeschaut hat 0 und 2 den gleichen Text, denn er kommt bei 0 und bei 2habe gerade nachgeschaut 2 = "The System cannot find the file specified" auch seltsam mit der Meldung, oder wird Winerror$ nie zurückgesetzt, da aber eine unterschiedliche Nummer eingegeben wird sollte auch die richtige Meldung kommen.
Bei
print winerror$(0)
Print winerror$(2)
klappt alles.
Hat das was mit dem Errorlevel zu tungetestet unter XProfan 11.2a
-
Winerror$ funktioniert,
hatte erst Print %Winerror drin und habe dann Print Winerror$(%winerror) geschrieben und vergessen der ersten Print %Winerror zu löschen, da wird er ja auf 0 gesetzt. War also mein Fehler. Die Errormeldungen scheinen unter 11 zu funktionieren. War etwas zu schnell und habe mir nun mal den ganzen Code von AHT richtig angeschaut. -
Zitat von Bangkok;738921
Winerror$ funktioniert,
hatte erst Print %Winerror drin und habe dann Print Winerror$(%winerror) geschrieben und vergessen der ersten Print %Winerror zu löschen, da wird er ja auf 0 gesetzt. War also mein Fehler. Die Errormeldungen scheinen unter 11 zu funktionieren. War etwas zu schnell und habe mir nun mal den ganzen Code von AHT richtig angeschaut.
Richtig, aufgrund dessen, was LastErrorValue (%WINERROR) überhaupt ist, sollte man ihn vor Gebrauch zurücksetzen.
LastErrorValue ist (unter NT) ein Member der Systemstruktur TEB, die neben diesem Member unter anderem auch den Member LastStatusValue enthält. Die native API der NTDLL.DLL setzt LastErrorValue gar nicht, sondern legt ihren Rückgabewert auf LastStatusValue ab. Ich habe schon mal angemerkt, dass die kERNEL32.DLL unter NT Systemen gar nicht mehr viel tut, sondern die wirklichen Funktionen in der Regel auf die NTDLL.DLL umgeleitet werden.
Genauso sieht es mit der ADVAPI32.DLL aus. Der Rückgabewert der nativen API ZwSetValueKey wird hier einfach von einem NTSTATUS Code in einen Errorcode umgewandelt und LastErrorValue und damit auch %WINERROR gar nicht gesetzt.
Da es, wie ich hier bereits angemerkt habe, ein Standardverfahren ist, zur Ermittlung der Buffergröße den Bereich erst einmal zu klein zu dimensionieren und die API RegQueryValueEx doppelt aufzurufen, wird in diesem Fall (wenn ich es richtig sehe) auch der LastStatusValuevon der nativen API gar nicht gesetzt.
%WINERROR ist also - wenn mich meine eigene Dummheit nicht mal wieder etwas narrt - als Beurteilung der Fehlerquelle beim Auslesen von Registrywerten komplett ungeeignet.
Die Rückgabe der Messagebox (und darauf bezog sich mein Posting hier) gibt über das, warum Readini$ fehl schlug, ebenfalls keine korrekte Auskunft:ZitatREGISTRY: "PerfLogsAlerts-DCOM-In-TCP" nicht in "SYSTEM\CurrentControlSet\Services\SharedAccess\Pa rameters\FirewallPolicy\FirewallRules" gefunden.
So OK oder irgendwelche Einwände?
Wie gesagt, die Wahrscheinlichkeit, dass ich mir nochmals eine Version einer Programmiersprache kostenpflichtig zulegen werde, die meiner Meinung nach eher ins 16-Bit Zeitalter gehört (da nicht multithreadingfähig) geht gegen Null. Mir ist also ziemlich egal, ob Profan dort Fehlermeldungen susgibt, mit denen man etwas anfangen kann oder nicht - wenn ich also irgendwelche Anregungen gebe, vermutliche Fehler anspreche und damit wertvolle Zeit opfere, ist das reine Nettigkeit von mir und nicht "das Zwingen irgendeiner Person zu irgendwelchen Sachen" (wie mir das bereits einmal, als ich noch Kunde* war, vorgeworfen wurde) - das lag mir schon etwas länger auf dem Herzen.
Wenn ich also merke, dass ich im Prinzip nur nerve, weil ich nicht aktuelle die Profanversion besitze, halte ich mich natürlich auch bei solchen Anregungen zurück - die haben für mich ja sowieso keinen Wert. Ist nicht böse gemeint, nur zwecks Zeitersparnis...
Kunde* = jemand der bereit ist, Geld in eine Sache zu investieren und damit den Verdienst eines Dritten vermehrt
ZwSetValueKey -
Ob XProfan 11.x, 7.5 oder von mir aus 4.5. Zum Updaten wird ja niemand gezwungen.
Genauso kann keiner einen Bugfix einer alten Version erwarten. -
MüllSchlucker
Welche Laus ist dir denn über die Leber gelaufen
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!