• Dieses Forum ist die maschinengenerierte Übersetzung von www.cad3d.it/forum1 - der italienischen Design-Community. Einige Begriffe sind nicht korrekt übersetzt.

Dateiöffnung versagt

  • Ersteller Ersteller Angelo2449
  • Erstellt am Erstellt am

Angelo2449

Guest
Hallo alle,
Ich werde verrückt, eine Datei zu öffnen. Ich bekomme immer die Nachricht.
> Fehler: Art des falschen Themas: Datei nil

der Name der Datei, vollständig vom Pfad ist > d:\altprovvisori\lcfile.dat < das autolisp fa > d:\\altprovvisori\\lcfile.dat <.

wenn ich die Route direkt betrete:
Code:
(setq path "d:\\altprovvisori\\\\lcfile.dat")
alles funktioniert perfekt, wenn ich stattdessen den Weg durch die Zwischenablage der Fenster 10 ableiten :
Code:
 (setq path nil)
(Runapp "c:\\autocadsupporto\\\libertytre\\inputpregeo.exe "c:\\\\\\autocadsupporto\\\\\\\\\inputpregeo.tkn" :vlax-true)
(while (= Pfad nil)
(setq route (getcliptext))
;

(princ "\n")
(princ)
(princ route)
(princ "\n")
> d:\\\\altprovvisori\\\\\\\lcfile.dat < erscheint die obige Fehlermeldung und die Operation versagt.

Ich habe auch die Bilder vor und nach > "d:\\altprovvisori\lcfile.dat" eingegeben, aber das Ergebnis ist das gleiche.
Danke.
 
Tut mir leid, aber wo öffnen Sie die Datei?
ist der Eröffnungsanruf? Ich fand sie nicht in den lisp-Funktionen
 
Dank Kristall Ich habe das Öffnen der Datei weggelassen:
Code:
(setq path nil)

(Runapp "c:\\autocadsupporto\\\libertytre\\inputpregeo.exe "c:\\\\\\autocadsupporto\\\\\\\\\inputpregeo.tkn" :vlax-true)

(while (= Pfad nil)
(setq route (getcliptext))
;

(princ "\n")
(princ)
(princ route)
(princ "\n")

(setq frd)
Die Ergebnisse sind:

Pfad > > > > > \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Ursprungsort : Fehler: Art des falschen Themas: Datei nil
Danke.
 
Ich glaube, Sie berichten, dass die Dateivariable eine Art von Daten enthält, die nicht mit der vom Befehl benötigten übereinstimmen, oder dass es nil ist (nicht vorhanden)
 
Dies sind die Ergebnisse mit den verschiedenen Optionen erhalten:
Option 1 - Einfügen des Dateinamens zum Öffnen (Pfad) direkt von der Kommandoleiste
Code:
Befehl: lcdraw

(setq Dateiname)

kompletter Pfad: d:\altprovvisori\lcfile.dat

Dateiname > > d:\altprovvisori\lcfile.dat

d:\altprovvisori\lcfile.dat

...
... Es funktioniert!!!!
Option 2 - Einfügen über externes Programm - nicht apici - einfache Umschlagleiste
Code:
Befehl: lcdraw

(Runapp "c:\\autocadsupporto\\\libertytre\\inputpregeo.exe "c:\\\\\\autocadsupporto\\\\\\\\\inputpregeo.tkn" :vlax-true)
(setq Dateiname (getcliptext))

Dateiname > > d:\altprovvisori\lcfile.dat

d:\altprovvisori\lcfile.dat

; Error: Art des falschen Themas: Datei
I
Option 3 - Einfügen über externes Programm - non apici - doppelte Umschlagleiste
Code:
Befehl: lcdraw

(Runapp "c:\\autocadsupporto\\\libertytre\\inputpregeo.exe "c:\\\\\\autocadsupporto\\\\\\\\\inputpregeo.tkn" :vlax-true)
(setq Dateiname (getcliptext))

Dateiname > > > d:\\altprovvisori\\\lcfile.dat

d:\\altprovvisori\\\lcfile.dat

; Fehler: Art des falschen Themas: Datei nil
Option 4 - Einfügen über externes Programm - mit apici - doppelte Rückseite
Code:
Befehl: lcdraw

(Runapp "c:\\autocadsupporto\\\libertytre\\inputpregeo.exe "c:\\\\\\autocadsupporto\\\\\\\\\inputpregeo.tkn" :vlax-true)
(setq Dateiname (getcliptext))

Dateiname > > > d:\\altprovvisori\\\lcfile.dat"

"d:\\altprovvisori\\\lcfile.dat"

; Fehler: Art des falschen Themas: Datei nil
Option 5 - Einfügen über externes Programm - mit apici - einfache Umschlagleiste
Code:
Befehl: lcdraw

Dateiname > > d:\altprovvisori\lcfile.dat"

"d:\altprovvisori\lcfile.dat"

; Fehler: Art des falschen Themas: Datei nil
Ich weiß nicht mehr, was ich erfinden soll!
Danke.
 
Ich glaube, dass die Schwierigkeit in der "Natur" von dem, was lcdraw produziert.
Ist das eine reine Saite?
die getcliptext-Funktion ist nicht autolisp. Hast du es geschafft? Was gibt es zurück?
 
Ich folge der Geschichte:
die Anwendung > inputpregeo.exe < übertragen in der Windows 10 Zwischenablage den Namen der Datei, die vollständig vom Pfad geöffnet werden soll.

die Funktion > (getcliptext) < gibt den Inhalt der Windows-Notizen zurück, dann der Name der zu öffnenden Datei vollständig mit dem Pfad.
Code:
 (Defun getcliptext(/ html Ergebnis)
(setq html (vlax-create object "htmlfile"))
(setq Ergebnis (vlax-invoke (vlax-get (vlax-get html 'parentwindow) 'clipboarddata')
(vlax release object html)
Ergebnis
;
Ich verstehe nicht, warum, wenn ich den Dateinamen aus der Autocad-Befehlsleiste einfügen:
Code:
(setq Dateiname)
alles funktioniert perfekt mit dem String > d:/altprovvisori/lcfile.dat <.

Wenn ich den gleichen String aus Windows 10 Noten extrahiere, funktioniert er nicht.
Code:
 (Runapp "c:\\autocadsupporto\\\libertytre\\inputpregeo.exe "c:\\\\\\autocadsupporto\\\\\\\\\inputpregeo.tkn" :vlax-true)
(setq Dateiname (getcliptext))
Ergebnis:
und doch ist es das Gleiche, das Gleiche |
Danke.
 
versuchen, die Autolisp-String zu verarbeiten.
eine nutzlose Sache des Typs (setq stringa2 (strcat filename ""))
wenn sie sie wie eine Schnur behandelt
 

Statistik des Forums

Themen
58.521
Beiträge
499.056
Mitglieder
104.110
Neuestes Mitglied
ChristianR

Zurzeit aktive Besucher

Keine Mitglieder online.
Zurück
Oben