Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  LISP -DCL

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:  LISP -DCL (997 mal gelesen)
monib
Mitglied
student

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

Beiträge: 6
Registriert: 15.05.2007

erstellt am: 15. Mai. 2007 16:36    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

Hi

Ich habe egrade erst angefangen mit LISP zuarbeiten und versuche mein erstes Dialogfenster zuerstellen. Es soll eigentlich erstmal nur die Höhe und Breite eingelesen werden und daran scheitert es schon.

Bekomme immer die Fehlermeldung: "; Fehler: Fehlerhafter Argumenttyp: stringp nil"

Ich schätze mal es ist ein ganz "blöder" Fehler wie ein Leerzeichen zuviel/zuwenig oder ähnliches, aber ich seh es nicht ...
Kann mir jemand einen Tipp geben?

(Die combo box kann ignoriert werden, soll später erweitert werden)
Die DCL datei

Code:

dcldialog: dialog {
label="5-D Modellierung";
:text{
label="Parameter";
//alignment=left;
}
:boxed_row{
:text{
label= "Angabe der Höhe und Breite des Gebäudes";
//alignment=left;
}
:row{
:edit_box{
label="Breite:";
value="0";
key="txtbreite";
edit_width=5;
fixed_width=true;
}
:edit_box{
label="Höhe:";
value="0";
key="txthoehe";
edit_width=5;
fixed_width=true;
}
}
:row:{
opup_list{
label="Etagenanzahl:";
key="combo_etagenanzahl";
value="2"; // int mit 3 etagen
edit_width=12;
}
}
}
:row{
:button{
key="button_simulate";
label="Simulation";
}
} //row
} //dialog

Meine LSP Datei:

Code:

(defun c:dcl_dialog()
  ;laden der dcl-datei + pfadangabe
  (setq dcl_id(load_dialog(findfile "dcldialog.dcl")))
  ;--- Dialogfeld initialisieren
  ;--- im Fehlerfall ... exit
  (if(not(new_dialog "dcldialog" dcl_id))
(exit) ;true, false=nothing
  )
  ;init der werte
  (setq hoehe 0)
  (setq breite 0)
  ;in txt schreiben
  (set_tile "txthoehe" (itoa hoehe) )
  (set_tile "txtbreite" (itoa breite) )
  ;init der combo
  ;(setq liste_etage '(1 2 3 4 5 6))
  ;(start_list "combo_etagenanzahl")
  ; (mapcar 'add_list liste_etage) ;Füllen der List-Box
  ;(end_list)
 
  ;aktionen
;;;  (action_tile "txthoehe" "(setq hoehe (einlesen_werte $key))")
;;;  (action_tile "txtbreite" "(setq breite (einlesen_werte $key))")
  ;(action_tile "button_simulate" "(schreibe_dat hoehe breite etagenanzahl)")
  ;(action_tile "accept" "(up_etage)")
  ;(action_tile "cancel" "(done_dialog) (setq userclick nil)" )
  ;starten
  (start_dialog)
  ;abmelden
  (unload_dialog dcl_id)
  ;user clickt combo
  ;(if userclick
; (progn
; (setq etagenanzahl (atoi etagenanzahl)) ; String wandeln in Integer
; (setq etagenanzahl (nth etagenanzahl liste_etage)) ; Listenauswahl
; );progn
; );if userclick
  ;fehler abfangen

 
)

;aus combo lesen
;(defun up_etage ()
; (setq etagenanzahl (get_tile "combo_etagenanzahl")) ; Listenindex als String
; (done_dialog)
; (setq userclick T)
;)


;;;(defun einlesen_werte(schluessel)
;;;  (setq test_zahl 0)
;;; (setq test_zahl (distof(get_tile schluessel)))
;;; (if (/= test_zahl NIL)
;;; (set_tile schluessel (strcat (itoa (fix test_zahl)))) ;true
;;; (alert "Eingabewert falsch") ;false
;;; )
;;;test_zahl );Ende defun


;(defun schreibe_dat (hoehe breite)
;  (setq etagenanzahl (up_etage());
; (alert (strcat "gewählte etage: " etagenanzahl))
 
;)


Das mit der combo box habe ich größtenteils auskommentiert, da ja noch nicht mal das grundgerüst geladen wird. Ist das schlimm? Kann ein Fehler im auskommentierten Code trotzdem zu einer Fehlermeldung führen?

Bin wirklich neu in dem ganzen ...

Danke
Moni

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

gmk
Mitglied
Dipl.-Ing.(FH) Vermessung


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

Beiträge: 667
Registriert: 23.10.2002

Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM

erstellt am: 15. Mai. 2007 16:58    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 monib 10 Unities + Antwort hilfreich

}
:row:{  <-------------------------------
opup_list{
label="Etagenanzahl:";

Doppelpunkt muss raus
(DCL-Fragen besser im Lisp-Forum)

Ciao Georg

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

spider_dd
Mitglied



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

Beiträge: 1111
Registriert: 27.11.2003

Win 10Pro
Intel(R) Core(TM) i7-7700
NVIDIA Quadro P1000
ACAD, Civil-3D 2018

erstellt am: 15. Mai. 2007 17:01    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 monib 10 Unities + Antwort hilfreich

Hallo Moni,

gibt es dann deine Datei "dcldialog.dcl" schon, die du in
(load_dialod (findfile ..)) zu laden versuchst?
Wenn nicht, liefert (findfile ..) nil
und (load_dialog ... ) die Fehlermeldung.
Prüfen kannst du sie im V-Lisp Editor, wenn du z. B. vor dem laden an den Anfang der Zeile einen Haltpunkt setzt und dann die Möglichkeiten des Editors zum Prüfen von Ausdrücken nutzt.

HTHHope this helps (Hoffe, es hilft weiter)

Thomas

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

monib
Mitglied
student

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

Beiträge: 6
Registriert: 15.05.2007

erstellt am: 15. Mai. 2007 17: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

Danke für die schnellen Antworten
der Doppelpunkt bei row war es leider nicht

"dcldialog.dcl" ist meine DCL Datei in der ich versuche die Textboxen zu erstellen, und du hattest recht da lag der fehler, er hatte sie nicht gefunden

Hast mir gerade meine restlichen Nerven und den Tag gerettet - Danke!!!

(Sorry für das falsche Forum, werde ab jetzt das LISP Forum nutzen)

Danke euch beiden

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