Deutsch
SDK-Helfer/ Tools

Variablenprüfer

 
- Seite 1 -



Timotheus
Hallo,

Hier nun noch ein Beitrag, ein Variablenprüfer in neuer Version, findet Variablen die da sind oder nicht da sind wo sie da sein sollten.

Update: Jetzt auch Virenscannerfreundlich!

701 kB
Hochgeladen:29.03.2010
Ladeanzahl249
Herunterladen
 
29.12.2009  
 



 
- Seite 1 -



Timotheus
Das mit dem Subproc und dem Errorproc ist eigentlich berücksichtigt. Vieleicht könntest du ja mal alle diese Sonderformen aus dem Programm in eine extra Datei zusammenkopieren und schauen ob da der Fehler auch noch auftritt.

Das mit den Zeilenanzeigen werde ich mal schauen wann ich das einbaue, steht aber auf der Todolist
 
30.12.2009  
 




Dieter
Zornow
Der Fehler taucht immer auf, auch in Programmen, in denen die Sonderformen nicht enthalten sind. Die Frage ist wie du zählst, Wenn du instr() benutzt muss es zwangläufig zu Fehlern kommen, da Proc auch in Endproc vorhanden ist.

Ich habe mein Testprogramm auf die Schnelle ganz simple gemacht und es funktioniert
cls
assign #1,"dateiname"
reset #1
declare zeile$
var pro& = 0: var endpro& = 0

whilenot eof(#1)

    input #1,zeile$
    zeile$ = Upper$(zeile$)

    if (Trim$(left$(zeile$,4) ) = "PROC") or (Trim$(left$(zeile$,7) ) = "SUBPROC") or (Trim$(left$(zeile$,9) ) = "ERRORPROC")

        addstring zeile$
        inc pro&

    endif

    if Trim$(Left$(zeile$,7)) = "ENDPROC"

        inc endpro&
        addstring zeile$
        addstring " "

    endif

endwhile

close #1
assign #1,""
listbox$("Proc: "+str$(pro&)+"  Endproc: "+str$(endpro&),2)
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
31.12.2009  
 




Dieter
Zornow
Vielleicht liegt es ja auch an Pre, Ich verwende es nicht, in der neusten Version habe ich jede Menge Zeilen dabei
die so

endproc{||}

aussehen. Ist also scheinbar nicht die erste Wahl. Du hast scheinbar eine ältere Version, die vielleicht andere Fehler produziert und endproc einfach verschluckt.
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
31.12.2009  
 




Frank
Abbing
Pre baut nur Includedateien zusammen. EndProcs tastet es nicht an. Der gleiche Mechanismus (Code ist übernommen) wörkelt in XPIA, und den hab ich täglich fehlerfrei im Einsatz.
 
31.12.2009  
 



 
- Seite 2 -



Dieter
Zornow
Das ist seltsam, ich habe jede Menge dieser Endproc{||} in einem Pre-Code und das muss ja Pre einfügen, da im Original sowas wie {||} ja niemals vorkommt, da auch keine Anweisungen für XPSE oder was drin sind. Einige Programme sind dann auch nicht mehr lauffähig, wahrscheinlich falsch zusammen gesetzt. Es wird wahrscheinlich auch etwas verschluckt. Wenn ich eine von XPSE erzeugte *.enh Datei ohne die Endroutine mit einer von Pre erzeugten vergleiche, ist die von Pre kleiner, obwohl XPSE unterm Strich das gleiche macht wie Pre, wenn keine speziellen Programmteile auf XPSE abgestimmt darinnen sind.
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
31.12.2009  
 




Frank
Abbing
Ich will nichts ausschliessen, aber wissentlich werden nur Includes zusammengebunden. Bei Gelegenheit mal ansehen.
 
31.12.2009  
 




Timotheus
Also die Pre.exe bastelt wirklich nur mit den Includes rum und schneidet Kommentare und Leerzeilen raus.

Das woran es liegen wird ist dieses "Endproc{||}". Wie kommt man denn auf sowas, errinnert mich irgendwie an einen Smilie, das da hinten dran. Ich habs überprüft, im normalen Profancode erzeugt soetwas auch einen Fehler, vieleicht wandelt XPSe das ja noch um, in dem Fall müsstest du vorher noch die Datei mit Xpse für normalen Profan Code umwandeln. Mein Programm zählt ein Endproc nur dann als Endproc, wenn die gesamte Zeile (Ohne Leerzeichen und Kommentare und so) ein "Endproc" ist (die letzten 4 Zeichen stören da also).

Wie gesagt, wenn den Quellcode ein Profaninterpreter ohne Probleme verwenden kann, sollte mein Variablenprüfer auch damit klarkommen, musst du mal schauen was es mit diesem "Endproc{||}" da auf sich hat.
Und wenn du gar nicht weißt was du schaust, schau doch einfach mal, ob du ein kleinstes nicht funktionierendes Beispiel finden kannst, wo der Variablenprüfer eigentlich funktionieren sollte, so wäre das "dem Fehler auf die Schliche kommen" viel einfacher

@Frabbing: Denke übrigens das ich noch ein kleines Fehlerchen in deiner exe gefunden habe. Incs die noch Kommentare hinten dran haben, werden nicht gefunden, aus meiner Erfahrung heraus, sonst wirklich einwandfrei arbeitendes Programm
 
31.12.2009  
 




Ulrich
Milde
Zu uralten Qbasic Zeiten gab es ein nettes Tool, was ein Crossreference Listing ausgeworfen hat. Nach so etwas hatte ich gesucht und bin hier über den Variablenprüfer gestolpert. Der ist VIEL besser als ein Xref Listing, wo man erstmal selbst kräftig graben muss, bevor man auf den Mist stösst, den man selbst produziert hat. Gerade im Eifer des Gefechts probiert man im Code herum und dabei vergisst man gerne die Kleinigkeiten bei Änderungen. Wenn das Proggi dann funzt und der Compiler nicht meckert, dann gibt es ab jetzt noch den Variablenprüfer, der über sowas stolpern könnte.

Grüsse und vielen Dank dafür !!!

PS. Eines interessiert mich doch noch, ist das nun der Variablenprüfer oder doch der Variablentester...
 
09.02.2010  
 




Ulrich
Milde
Nochmal die Virussache: In 1.DLL verbirgt sich aller Wahrscheinlichkeit ja kein Virus. Dennoch ist es nicht möglich, den Variablenprüfer per email mit GMX zu verschicken. Über einen anderen Mailer geht das verschicken, aber da kommt auch nix an, weil Web.de den Anhang nicht zum Empfänger weiterleitet. Sicherlich, ich könnte mit Passwort packen, aber das ist keine dauerhaft praktikable Lösung. Und die Elefantenfirmen der Virenscanner und Webmailer von einem false positive Alarm durch Generic.dx in 1.DLL beim Variablenprüfer zu überzeugen, das dürfte fast unmöglich sein. Vielleicht ist es ja möglich, die DLL etwas umzustricken damit es einfacher wird, dass alle Interessierten den Variablentester nutzen können.

Danke, Grüsse und tschüss!
 
10.02.2010  
 




Timotheus
Danke für das Lob!

Die 1.dll ist die Prospeed.dll von Frank Abbing, habe mal geschaut ob es eine neue Version gibt.
Die gibt es
Ich werde also bald mal ein Update mit der verträglichereren Dll machen und hoffen das dann immer noch alles funkt

Übrigens: @Frabbing: wie sieht es denn mit einem kleinem Pre.exe Update aus (siehe letzter Post von mir danz unten)?

Timo
 
19.02.2010  
 




Frank
Abbing
Ja, der Fehler wird von Pre erzeugt. Zum Update machen komme ich derzeit aber nicht.
Workaround ist aber einfach, der Quellcode muss mit 13,10 enden, also in die letzte Zeile ein Return setzen.
 
19.02.2010  
 




Timotheus
So, Update. Nähere Informationen oben.
 
29.03.2010  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

22.186 Betrachtungen

Unbenanntvor 0 min.
RudiB.16.08.2022
Sven Bader20.08.2021
p.specht15.12.2020
Timotheus15.12.2020
Mehr...

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