Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Fehlerhafter Argumenttyp

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Fehlerhafter Argumenttyp (2721 mal gelesen)
Bernd10
Mitglied



Sehen Sie sich das Profil von Bernd10 an!   Senden Sie eine Private Message an Bernd10  Schreiben Sie einen Gästebucheintrag für Bernd10

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 11. Jan. 2008 10:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

ich habe eine VLX-Anwendung, die aus sehr sehr vielen Lisp-Funktionen besteht. Nun kommt es unregelmäßig zu einem Abbruch bei verschiedenen eigenen Befehlen mit der folgenden Fehlermeldung:

Fehlerhafter Argumenttyp: stringp nil

Wir der Befehl unmittelbar danach noch ein Mal ausgeführt, tritt der Fehler nicht mehr auf. Ich kann bei der Fehlermeldung nicht erkennen um welche Variable es sich handelt. Um die Variable mit dem falschen Wert zu finden, habe ich in den Funktionen verschiedene Meldungen für das Textfenster eingebaut. Leider konnte ich auch dadurch die Variable mit dem falschen Wert nicht finden.

Gibt es eine Möglichkeit, die Variable mit dem falschen Wert herauszufinden?

Danke im Voraus und viele Grüße
Bernd

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADmium
Moderator
Maschinenbaukonstrukteur




Sehen Sie sich das Profil von CADmium an!   Senden Sie eine Private Message an CADmium  Schreiben Sie einen Gästebucheintrag für CADmium

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 11. Jan. 2008 11:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Bernd10 10 Unities + Antwort hilfreich

es handelt sich vermutlich um eine globale Variable, die vor der ersten Initialisierung (mit ner Zeichenkette) schon mal an eine Funktion , die ne Zeichenkette erwartet übergeben wird.
Ohne Quelltext, ne sauberen Strukturierung und mal einem Debugging im VLIDE wirst du wohl nicht viel weiter kommen und die Hilfe sich unsererseits auch erschöpfen.

------------------
  - Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bernd10
Mitglied



Sehen Sie sich das Profil von Bernd10 an!   Senden Sie eine Private Message an Bernd10  Schreiben Sie einen Gästebucheintrag für Bernd10

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 11. Jan. 2008 11:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Thomas,

ich gehe normalerweise immer per Debugger durch die Sourcen um Fehler zu finden. Da der Befehl beim zweiten Aufruf immer ohne Fehler durchläuft, komme ich in diesem Fall mit einem Debuglauf nicht weiter. Ich habe deshalb auf eine andere Möglichkeit (zum Beispiel die Ausgabe vom Namen der Variablen mit falschen Inhalt in das Textfenster) gehofft.

Ist so was möglich?

Danke und Gruß
Bernd

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADmium
Moderator
Maschinenbaukonstrukteur




Sehen Sie sich das Profil von CADmium an!   Senden Sie eine Private Message an CADmium  Schreiben Sie einen Gästebucheintrag für CADmium

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 11. Jan. 2008 12:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Bernd10 10 Unities + Antwort hilfreich

Dann debug doch den ersten Durchlauf ..

------------------
  - Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bernd10
Mitglied



Sehen Sie sich das Profil von Bernd10 an!   Senden Sie eine Private Message an Bernd10  Schreiben Sie einen Gästebucheintrag für Bernd10

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 11. Jan. 2008 13:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Thomas,

Zitat:
Original erstellt von CADmium:
Dann debug doch den ersten Durchlauf ..

das kann ich leider nicht, da der Fehler bei den Benutzern meiner VLX-Anwendung auftritt. In der Praxis sieht es so aus, dass die Benutzer bei mir anrufen und mich über den Fehler informieren. Dann gehe ich an den Arbeitsplatz des Benutzers und kann mir nur noch den Inhalt des Textfenster und die LOG-Datei anschauen. Bisher habe ich dadurch aber nur herausgefunden, dass eine Variable mit dem Wert nil den Fehler verursacht. Ich müsste an dieser Stelle dann sehen, welche Variable das ist.

Gruß Bernd

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADwiesel
Moderator
CAD4FM UG




Sehen Sie sich das Profil von CADwiesel an!   Senden Sie eine Private Message an CADwiesel  Schreiben Sie einen Gästebucheintrag für CADwiesel

Beiträge: 1968
Registriert: 05.09.2000

AutoCAD, Bricscad
Wir machen das Mögliche unmöglich

erstellt am: 11. Jan. 2008 14:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Bernd10 10 Unities + Antwort hilfreich

dann gib doch eine Liste aller Variablennamen mit deren Werten aus.
Allerdings ist dann keine do saubere Programmierung, da die Variablen ja nur wärend der Programmlaufzeit (der unterfunktionen) benutzt werden sollten. Vielleicht musst du vor ende jeder Funktion eine extra Liste mit den Variablennamen und inhalten generieren lassen.
Oder gib jeder deiner Funktionen einen Namen, der dann von der Errorfunktion ausgeworfen wird.

------------------
Gruß
CADwiesel
Besucht uns im CHAT

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bernd10
Mitglied



Sehen Sie sich das Profil von Bernd10 an!   Senden Sie eine Private Message an Bernd10  Schreiben Sie einen Gästebucheintrag für Bernd10

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 11. Jan. 2008 15:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo CADwiesel,

Zitat:
Original erstellt von CADwiesel:
dann gib doch eine Liste aller Variablennamen mit deren Werten aus.
Allerdings ist dann keine do saubere Programmierung, da die Variablen ja nur wärend der Programmlaufzeit (der unterfunktionen) benutzt werden sollten. Vielleicht musst du vor ende jeder Funktion eine extra Liste mit den Variablennamen und inhalten generieren lassen.

meine VLX-Anwendung besteht aus 850 defun-Funktionen. Die darin enthaltene lokale Variablen haben bis auf die der aktuellen defun-Funktion alle den Wert nil. Somit kann ich meine gesuchte Variable von den meisten lokalen Variablen wieder nicht finden. Selbst eine Liste meiner globalen Variablen zu Erstellen wäre mit sehr großem Zeitaufwand verbunden. Es ist aber auf jeden eine Überlegung wert.

Zitat:
Original erstellt von CADwiesel:
Oder gib jeder deiner Funktionen einen Namen, der dann von der Errorfunktion ausgeworfen wird.

Wenn ich die defun-Funktion beim Auftreten des Fehlers ermitteln könnte, wäre mir schon sehr geholfen.
Ist das möglich?
Oder wie meinst Du genauer mit "jeder deinen Funktionen einen Namen"?

Danke im Voraus und viele Grüße
Bernd

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADmium
Moderator
Maschinenbaukonstrukteur




Sehen Sie sich das Profil von CADmium an!   Senden Sie eine Private Message an CADmium  Schreiben Sie einen Gästebucheintrag für CADmium

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 11. Jan. 2008 15:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Bernd10 10 Unities + Antwort hilfreich

zum Thema Errorhandling hatten wir mal das  ... müßtest du aber einpflegen

Meine Funktionen laufen im Prinzip so
(or(not(vl-catch-all-error-p
          (vl-catch-all-apply
            'FUNKTION (PARAMETERLISTE)
          )
        )
    )
    (prompt "\nFehler bei Funktion blabla")
  )  


und zu den Variablen guck dir mal die Tutorials vom Axel an .. stichwort : Namespaces

Es geht eben nichts über n sauber strukturiertes Programm mit entsprechend gekapselten Subs 

------------------
       - Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Geos
Mitglied
Vermessungstechniker i.R.


Sehen Sie sich das Profil von Geos an!   Senden Sie eine Private Message an Geos  Schreiben Sie einen Gästebucheintrag für Geos

Beiträge: 1017
Registriert: 21.09.2001

ACAD Map 2010, Win 7 Pro
eigene Lisp's<P>HW: Core i7 860, 2.8 GHz
3.3 GB, NVIDIA GeForce GTS 250

erstellt am: 11. Jan. 2008 19:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Bernd10 10 Unities + Antwort hilfreich

Vielleicht hilft Dir das:

Code:
(defun ppp (wert)
  (prompt (strcat "\n" (symtxt wert) "= "))
  (if (= 'STR (type (eval wert)))
    (princ (strcat "\"" (eval wert) "\""))
    (princ (eval wert))
  )
  (princ) 
)

(defun symtxt (symb / flag str)
  (setq flag nil)
  (if (= (type symb) 'SYM)
    (progn
      (if (null (eval symb))
        (progn
          (set symb T)
          (setq flag T)
        )
      )
      (setq str (nth (1- (length (member symb (atoms-family 0))))
                            (reverse (atoms-family 1))))
      (if flag (set symb nil))
      str
    )
  )
)


Das kannst dann so verwenden:
(setq #var1 123)
(ppp '#var1)

was bewirkt:
Befehl: ...
.
.
.
#VAR1= 123
Fehlerhafter Argumenttyp: stringp nil

------------------
Schöne Grüße
Ernst

www.geopaint.at

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bernd10
Mitglied



Sehen Sie sich das Profil von Bernd10 an!   Senden Sie eine Private Message an Bernd10  Schreiben Sie einen Gästebucheintrag für Bernd10

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 14. Jan. 2008 07:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Thomas,

Zitat:
Original erstellt von CADmium:
zum Thema Errorhandling hatten wir mal das  ... müßtest du aber einpflegen

Meine Funktionen laufen im Prinzip so
(or(not(vl-catch-all-error-p
          (vl-catch-all-apply
            'FUNKTION (PARAMETERLISTE)
          )
        )
    )
    (prompt "\nFehler bei Funktion blabla")
  )  


und zu den Variablen guck dir mal die Tutorials vom Axel an .. stichwort : Namespaces

Es geht eben nichts über n sauber strukturiertes Programm mit entsprechend gekapselten Subs  


es wird etwas dauern, bis ich mich durch Deine oben genannten Informationen gekämpft habe. Bei Fragen melde ich mich wieder.

Danke und viele Grüße
Bernd

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bernd10
Mitglied



Sehen Sie sich das Profil von Bernd10 an!   Senden Sie eine Private Message an Bernd10  Schreiben Sie einen Gästebucheintrag für Bernd10

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 14. Jan. 2008 08:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Ernst,

Zitat:
Original erstellt von Geos:
Vielleicht hilft Dir das:

Code:
(defun ppp (wert)
  (prompt (strcat "\n" (symtxt wert) "= "))
  (if (= 'STR (type (eval wert)))
    (princ (strcat "\"" (eval wert) "\""))
    (princ (eval wert))
  )
  (princ) 
)

(defun symtxt (symb / flag str)
  (setq flag nil)
  (if (= (type symb) 'SYM)
    (progn
      (if (null (eval symb))
        (progn
          (set symb T)
          (setq flag T)
        )
      )
      (setq str (nth (1- (length (member symb (atoms-family 0))))
                            (reverse (atoms-family 1))))
      (if flag (set symb nil))
      str
    )
  )
)


Das kannst dann so verwenden:
(setq #var1 123)
(ppp '#var1)

was bewirkt:
Befehl: ...
.
.
.
#VAR1= 123
Fehlerhafter Argumenttyp: stringp nil


wenn ich Deinen Vorschlag richtig verstehe, muss ich die Funktion ppp bei jeder Variablen berücksichtigen. Das wäre bei meinen sehr vielen Funktionen und der damit verbundenen hohen Anzahl von Variablen nicht mehr möglich.
Falls ich es falsch verstanden habe, kannst Du mir vielleicht genauer erklären, wie ich Deinen Code verwenden muss.

Danke im Voraus und viele Grüße
Bernd

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Geos
Mitglied
Vermessungstechniker i.R.


Sehen Sie sich das Profil von Geos an!   Senden Sie eine Private Message an Geos  Schreiben Sie einen Gästebucheintrag für Geos

Beiträge: 1017
Registriert: 21.09.2001

ACAD Map 2010, Win 7 Pro
eigene Lisp's<P>HW: Core i7 860, 2.8 GHz
3.3 GB, NVIDIA GeForce GTS 250

erstellt am: 14. Jan. 2008 08:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Bernd10 10 Unities + Antwort hilfreich

Hallo Bernd

Im Prinzip hast Du's richtig verstanden, aber Du musst ja nicht jede ausdrucken.
Bau einige an strategischen Punkten ein - zwischen der letzten ausgedruckten und der ersten nicht ausgedruckten Var. liegt dann der Fehler. Dann könntest Du weiter einschränken.

------------------
Schöne Grüße
Ernst

www.geopaint.at

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bernd10
Mitglied



Sehen Sie sich das Profil von Bernd10 an!   Senden Sie eine Private Message an Bernd10  Schreiben Sie einen Gästebucheintrag für Bernd10

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 14. Jan. 2008 08:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Ernst,

Zitat:
Original erstellt von Geos:
Hallo Bernd

Im Prinzip hast Du's richtig verstanden, aber Du musst ja nicht jede ausdrucken.
Bau einige an strategischen Punkten ein - zwischen der letzten ausgedruckten und der ersten nicht ausgedruckten Var. liegt dann der Fehler. Dann könntest Du weiter einschränken.


das habe ich auf diese Weise schon versucht einzuschränken. Ich habe dabei aber nicht die Variablen, sondern einfach nur eindeutige Meldungen an den strategischen Punkten ausgegeben. Ich konnte die Variable leider trotzdem nicht finden.

Danke für Deinen Vorschlag und viele Grüße
Bernd


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bernd10
Mitglied



Sehen Sie sich das Profil von Bernd10 an!   Senden Sie eine Private Message an Bernd10  Schreiben Sie einen Gästebucheintrag für Bernd10

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 14. Jan. 2008 13:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Thomas,

Zitat:
Original erstellt von CADmium:

zum Thema Errorhandling hatten wir mal das  ... müßtest du aber einpflegen

Einen Errorhandler habe ich schon immer verwendet.

Zitat:
Original erstellt von CADmium:

Meine Funktionen laufen im Prinzip so
(or(not(vl-catch-all-error-p
          (vl-catch-all-apply
            'FUNKTION (PARAMETERLISTE)
          )
        )
    )
    (prompt "\nFehler bei Funktion blabla")
  )  

Wenn ich Deinen Programmcode richtig verstehe, muss ich das so in jeder meiner Funktionen einbauen. Bei meinen sehr vielen Funktionen wäre das ein großer Aufwand.

Zitat:
Original erstellt von CADmium:

und zu den Variablen guck dir mal die Tutorials vom Axel an .. stichwort : Namespaces

Ich habe meine Variablen so eingeteilt, dass ich nur folgende Variablen habe:
- lokale Variablen
- dem Dokument zugeordnete Variablen (vl-doc-set)
- der Anwendung zugeordnete Variablen (vl-bb-set)

Zitat:
Original erstellt von CADmium:

Es geht eben nichts über n sauber strukturiertes Programm mit entsprechend gekapselten Subs  

Im Rahmen meiner Kenntnisse habe ich das auch immer versucht.

Gruß Bernd

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bernd10
Mitglied



Sehen Sie sich das Profil von Bernd10 an!   Senden Sie eine Private Message an Bernd10  Schreiben Sie einen Gästebucheintrag für Bernd10

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 14. Jan. 2008 13:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

im Moment schätze ich den Aufwand entsprechend der oben genannten Informationen sehr hoch ein. Deshlab habe ich mit den Benutzern vereinbart, dass ich meine Anwendung zum Testen so umbaue, dass bei einem Benutzer alle meine Lisp-Funktionen geladen und der Visual Lisp Editor gestartet wird. Dort stelle ich im Menü Debugging auf "Bei Fehler unterbrechen" und somit sollte das Programm beim Aufteten des Fehler angehalten werden. Dann steht das Programm bereits in der gesuchten Funktion und ich kann an dem Arbeitsplatz des Benutzers die Variablen kontrollieren. Das scheint im Moment der Weg mit dem wenigsten Aufwand für mich und nur geringem Umstand für den Benutzer zu sein.

Danke noch Mal für die Informationen und viele Grüße
Bernd

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADmium
Moderator
Maschinenbaukonstrukteur




Sehen Sie sich das Profil von CADmium an!   Senden Sie eine Private Message an CADmium  Schreiben Sie einen Gästebucheintrag für CADmium

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 14. Jan. 2008 13:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Bernd10 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Bernd10:
Ich habe meine Variablen so eingeteilt, dass ich nur folgende Variablen habe:
- lokale Variablen
- dem Dokument zugeordnete Variablen (vl-doc-set)
- der Anwendung zugeordnete Variablen (vl-bb-set).


Ich meinte damit eigentlich das

------------------
  - Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bernd10
Mitglied



Sehen Sie sich das Profil von Bernd10 an!   Senden Sie eine Private Message an Bernd10  Schreiben Sie einen Gästebucheintrag für Bernd10

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 14. Jan. 2008 14:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Thomas,

Zitat:
Original erstellt von CADmium:
Ich meinte damit eigentlich das

Fehler, die aus der oben angesprochene Problematik entstehen, versuche ich im Prinzip so zu vermeiden, wie im Beitrag unter "Was kann man denn nun tun, um sich vor solchen Fehlern zu schützen?" beschrieben ist:

Ich habe mir eine Funktion geschrieben, die mir meine lokalen Variablen in einer Funktion heraus sucht. Dazu habe ich mir einige Voraussetzungen zum Schreiben meiner Lisp-Funktion aufstellen müssen, die ich aber dafür auch einhalte.

Notwendige globale Variablen verwende ich nur welche, die mit vl-bb-set oder vl-doc-set geändert werden und zusätzlich mit * am Anfang und Ende gekennzeichnet sind.

Keinen Gebrauch mache ich von der Tatsache, dass Variablen auch in Unterfunktionen sichtbar sind.

Gruß Bernd

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADmium
Moderator
Maschinenbaukonstrukteur




Sehen Sie sich das Profil von CADmium an!   Senden Sie eine Private Message an CADmium  Schreiben Sie einen Gästebucheintrag für CADmium

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 14. Jan. 2008 14:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Bernd10 10 Unities + Antwort hilfreich

Na dann ..
Keine Ahnung was du machst, ich (wir) kenne (n) deine Quelltexte nicht! Alle unspezifischen Sachen wurden IMHO erwähnt und Fehlerbeseitigungsmöglichkeiten aufgezeigt.

Der Rest liegt nun bei dir!

------------------
      - Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bernd10
Mitglied



Sehen Sie sich das Profil von Bernd10 an!   Senden Sie eine Private Message an Bernd10  Schreiben Sie einen Gästebucheintrag für Bernd10

Beiträge: 763
Registriert: 20.11.2003

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
16 GB RAM
Windows 10 Pro 64-bit
AutoCAD Mechnical 2020 Deu

erstellt am: 14. Jan. 2008 15:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo an Alle,

Zitat:
Original erstellt von CADmium:
Na dann ..
Keine Ahnung was du machst, ich (wir) kenne (n) deine Quelltexte nicht! Alle unspezifischen Sachen wurden IMHOIn my humble oppinion (Meiner Meinung nach) erwähnt und Fehlerbeseitigungsmöglichkeiten aufgezeigt.

Der Rest liegt nun bei dir!


die von euch angesprochnen Informationen sind für mich auch sehr hilfreich. Zum Einen hat es mir gezeigt, dass ich in meiner Programmierung nichts grundsätzlich falsch mache. Zum Anderen hat es mich auf die Idee gebracht, meine Lsp-Dateien beim Benutzer zu verwenden (siehe weiter oben). Damit kann ich die Variable mit dem Wert nil vielleicht finden.

Danke für das Interesse und viele Grüße
Bernd

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz