Visual LISP / Projekteigenschaften / Lisp
Bernd10 13. Apr. 2010, 12:12


OK.JPG


Fehler.JPG

 
Hallo,

ich habe einen Abbruch meiner VLX-Anwendung bei bestimmten Projekteigenschaften, den ich mir nicht erklären kann. In der Anlage ist dazu die Datei OK-jpg mit den Projekteigenschaften, die keinen Abbruch erzeugen. In der Datei Fehler.jpg sind die Projekteigenschaften zu sehen, mit denen der Abbruch erfolgt. Den einzigen Unterschied habe ich rot markiert.

Herausfinden konnte ich noch die Variable izlerfarbtxttest, die zum Abbruch führt. Es ist zunächst ein INT-Wert und plötzlich ein STR-Wert, obwohl hier gar keine Zuweisung erfolgt:
izlerfarbtxttest = 0
INT
izlerfarbtxttest = 178            9          zform178!0,0,1!-
STR
Die Variable izlerfarbtxttest ist in der Funktion so vereinbart:
( defun xyz_zeich_uf ( sdokstart
                      /
                      izlerfarbtxttest )
)
Beim Compileren wird die Variable izlerfarbtxttest so abgezeigt:
[COMPILING W:/Funktionen_laden/XYZ_zeich_uf.lsp]
;;XYZ_ZEICH_UF
; === STATISTIK: XYZ_ZEICH_UF
;            Lokale Variablen sind (CBLKNAME CBUST CBUST1 CBUSTKON CFARBBUCHFARBE CFARBBUCHFARBENEU CFARBTXT CFARBTXTALT CFARBTXTELE CFARBTXTGRD CFARBTXTINFELD CFARBTXTNEU CFARBTXTTXT CFFCODETXT CFOLPLO CFOLPLOKEIN CFOLPLONEGGRU CFOLPLONEU CFOLPLOPOSEIN CFOLPLOVGLVGL CFOLPLOWW CFOLPLOWWVGL CGRUPPETAFELAO CHOEHE CHOEHEKMM CLAENGE CLAYERSCHRAFFFRTA CMELDG CPIKTO CPIKTOBSCHG CPIKTOBSCHGNEU CPIKTODWG CPIKTOKOO CPIKTONAME CSCHRNAME CSCHRPOOLPCUT CSCHRTYP CSFARBE CSTIL CTRUECOLOR CTRUECOLORNEU CTXT CTXTINH CTXTINHLTKMM CWWAUSF CZEABST CZIFFER CZSPAT EXYZ EXYZOBJ EBAB EBLOCK EFESATZ ENRZ EOBJBSCHGSFF EOBJKOORUNX EPFEIL EPIKTO EPSF ETAFELAO ETAFELAOTMP ETEXTNRZ EWW EWWGHE EWWRANDPFWW EZFORM IXYZFARBEGRD IXYZFARBNRELE IXYZFARBNRGRD IXYZFARBNRINFELD IAGRAFFOL IANZXYZ IANZXYZOBJ IANZBAB IANZFARBTXT IANZFESATZ IANZFFCODEELE IANZFFCODEGRD IANZFFCODEINFELD IANZNRZ IANZOBJBSCHGSFF IANZOBJKOORUNX IANZPFEIL IANZPIKTO IANZPSF IANZTAFELAO IANZTAFTEILE IANZTEXTNRZ IANZWW IANZWWRANDPFWW IATAUFOL IAUFSTGART IBUKEN IBUSTKON IELENR IELENRPSF IELENRTMP IELENRWW IFARBEXYZ IFFCELE IFFCGRD IFFCODEELE IFFCODEELENEU IFFCODEGRD IFFCODEINFELD IFOLIETYP IFOLPSF IFOLTYPELE IFOLTYPGRD IFOLTYPINFELD IINDEXFARBE IINDEXFARBENEU IKEN IKLTAFLAGE ILPOS IPIKTOKEN IPIKTOKENNEU IPIKTOUNXOBJ IRTG ISPOSSF ISPOSTRZE ITAFAOLT IWWAUSF IWWAUSFSTD IWWNR IWWNRTAFELAO IWWNRTMP IWWTYPTMP IZLER IZLERXYZOBJ IZLERFARBTXTTEST IZLERFESATZ IZLERFFCODEELE IZLERFFCODEGRD IZLERFFCODEINFELD IZLERTEXTNRZ IZLERWW LBAB LBASISPKT LBILD LBOXPIKTO LBPKTBAUGR LBPKTNRZ LBPKTTXT LBRINFELD LBRINFELDNEU LBSCHGSFF LELEPSF LELETAFELAO LENAME LENAMEXYZOBJ LFAHRSTRMARK LFARBINFO LFARBINFOALLEALT LFARBINFOALLENEU LFARBINFONEU LFARBTXT LFARBTXTALT LFARBTXTNEU LFARBTXTSP LFESATZ LFFCELE LFFCGRD LFFCODEELEALT LFFCODEELENEU LFFCODEGRDALT LFFCODEGRDNEU LFFCODEINFELDALT LFFCODEINFELDNEU LFOFA LFOFAFARBEBSCHGSFF LFOFANEU LHOINFELD LHOINFELDNEU LKOMBI LKOOR LKOORBOX LKOORKONRELE LKOORUNX LKREISVK LMERKAUTOCAD LMERKMALE LMODIFIZ LNIETEN LNRZ LNRZANG LNRZANGABEN LOBJBSCHGSFF LOBJKOORUNX LPFEIL LPFWW LPFWWANG LPIKTO LPIKTOKENBSCHG LRANDANG LRPROFILE LSKTSCHRAUBEN LTAFAODGBHB LTAFAODGBR LTAFAODGHO LTAFEL LTAFELAOWWWWGHE LTEXT LTEXTNRZ LTXTANGABEN LTXTNRZ LVBDPROFILE LVSBPROFILE LVSKPROFILE LVSKVBDPROFILE LWW LWWAUSFLOK LWWPFWWBAB LWWRAND LWWRANDBAB LWWRANDPFWW LYANG PPOLYL PREGEN PSICHTBAR RABSTTAFTEILVSKVBDPROFMIHO RARADEED RARADMAX RARADTAFELAO RARADWW RBAUGRBR RBAUGRHO RBRINFELD RDIAGBILD RDIFF RDREH RGPROF RGPROFNEU RHOEHE RHOINFELD RKLTAFBR RKLTAFHO RKONBR RKONBRNEU RKONHO RKONHONEU RKONST RKONSTNEU RRADIUS RRAHMEN RRAHMENNEU RRAHTAF RRANST RTAFBR RTAFHO RXAUSD RXAUSDKMM RXAUSDNRZB RXAUSDNRZBNEU RXAUSDNRZZ RXAUSDNRZZNEU RXAUSDPIKTO RXAUSDTAFLAO RXLU RXLUPIKTO RXLUTAF RYAUSD RYAUSDKMM RYAUSDKOOR RYAUSDPIKTO RYAUSDTAFLAO RYLU RYLUPIKTO RYLUTAF RYOFFSBPKT RZLUPIKTO RZLUTAF RZSPAT SDOKSTART SFARBTXTA SMELDG XFFCODEELE XFFCODEGRD XFFCODEINFELD XRTG XYAUSDKOOREED)
...
; === STATISTIK: "W:/Funktionen_laden/XYZ_zeich_uf.lsp"
;            Nicht gelöschte Funktionsnamen (XYZ_ZEICH_UF)
"C:/Dokumente und Einstellungen/Benutzer/Eigene Dateien/Temp/XYZ_Objekte/XYZ_zeich_uf.ob"

Wieso wird die Variable izlerfarbtxttest durch die Änderung der Projekteigenschaften von einem INT-Wert zu einem STR-Wert, obwohl an dieser Programmstelle gar keine Zuweisung erfolgt?

Danke im Voraus und viele Grüße
Bernd

Bernd10 14. Apr. 2010, 13:04

Hallo,

ich konnte mein Problem mit den Projekteigenschaften in Visual LISP insofern lösen, dass ich keinen Programmabbruch mehr habe. Da ich in der Funktion des Abbruchs sehr viele lokale Variablen hatte und sich die geänderte Projekteigenschaft mit lokalen Variablen zu tun hat, vermute ich, dass Visual LISP diese hohe Anzahl nicht mehr verwalten konnte. Ich habe nun die ursprüngliche Funktion in zwei Funktionen aufgeteilt, wodurch ich in jeder neuen Funktion weniger lokale Variablen habe. Jetzt kommt kein Programmabbruch mehr vor und die bisherigen Projekteinstellungen kann ich weiterhin lassen.

Viele Grüße
Bernd

joern bosse 14. Apr. 2010, 14:33

Hallo Bernd,
was ist denn das für ein Programm, was soviele Variablen braucht?? Die kann man ja gar nicht mehr überblicken. 

Bernd10 14. Apr. 2010, 14:42

Hallo Jörn,

Zitat:
Original erstellt von joern bosse:
was ist denn das für ein Programm, was soviele Variablen braucht?? Die kann man ja gar nicht mehr überblicken.  

meine VLX-Anwendung besteht inzwischen aus zirka 900 Funktionen, die jeweils an verschiedenen Stellen in der Anwendung verwendet werden. Ich habe mir eine bestimmte Schreibweise angewöhnt und versuche auch immer die Variablen nach vl-bb*, vl-doc* und lokale Variablen zu unterscheiden. Dadurch geht es noch mit dem Überblick.

Gruß Bernd