| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | | | | PNY wird von NVIDIA zum Händler des Jahres gewählt – zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: Das Systemvariablen-Beispiel (2668 mal gelesen)
|
mapcar Mitglied CADmin
Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 11. Aug. 2004 13:42 <-- editieren / zitieren --> Unities abgeben:
Hier ist es also, das wohl weltweit erste Beispiel zur Dotnet-Programmierung in AutoCAD, das nicht von Autodesk stammt. Wer es nur mal ausprobieren will: Die Datei CSysVars.dll (im Unterverzeichnis bin/debug) mit dem AutoCAD-Befehl NETLOAD (nur in 2005!) laden, und dann den Befehl "CSysVars" aufrufen. Wer es kompilieren möchte: Das Beispiel liegt als VS2003-Projekt vor. Sowohl #develop als auch CSharpBuilder können dieses Format importieren. Allerdings müssen anschließend die Verweise korrigiert werden: Außer den Dateien 'acmgd.dll' und 'acdbmgd.dll' müssen noch zwei Verweise für die COM-InterOp-Sachen gesetzt werden, nämlich auf die Dateien 'acax16enu.tlb' und 'axdb16enu.tlb'. Beides sind COM-Verweise, sie erscheinen unter den Bezeichnungen 'AutoCAD 2005 Typenbibliothek' bzw. 'AutoCAD/ObjectDBX Common 16.0 Typenbibliothek' (beide Dateien in C:/Programme/Gemeinsame Dateien/Autodesk Shared). Das Beispiel ist völlig unfertig, aber immerhin lauffähig. Das Variablen-Wirrwarr hat mich einiges an Nerven gekostet, und ich habe auch noch was anderes zu tun;-) Eine ausführlichere Beschreibung ist dem Projekt als Datei CSysVars.txt beigefügt. Folgende Techniken stecken im Beispiel drin: Windows.Forms: Hauptmenü, ListView, FileOpen-, FileSave-Dialog AutoCAD: (Managed) Zugriff auf die Datenbank, per InterOp Zugriff auf olle COMellen. Framework: XmlDocument, XmlTextWriter, XSD-Validierung, MemoryStream C#: Abstrakte Basisklasse mit Ableitungen für die einzelnen Datentypen Viel Spaß damit, und vielleicht findet ja einer den Fehler bei der Validierung. Gruß, Axel Strube-Zettler ------------------ Meine AutoLisp-Seiten Meine private Homepage Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RoSiNiNo Mitglied Konstrukteur
Beiträge: 1126 Registriert: 09.10.2002 Revit Structure 2011 Acad 2011-deutsch, Express Tools 3ds Max 2011 Win 7-Professional HP Workstation Z400, 6GB GeForce GTX 470
|
erstellt am: 12. Aug. 2004 08:20 <-- editieren / zitieren --> Unities abgeben: Nur für mapcar
Hallo Axel, ich hab mir jetzt einmal das Buch GoTo C# durchgelesen. Beim durchschauen deines Beispiels hab ich nun beschlossen das Buch noch einmal zu lesen ;-) Das Beispiel ist wirklich sehr interessant, ich werde allerdings einige Zeit brauchen um es wirklich zu verstehen (s.o.). Aber es ist für mich zumindest ein Anfang. Danke für deine Bemühungen. ------------------ Roland Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mapcar Mitglied CADmin
Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 12. Aug. 2004 12:51 <-- editieren / zitieren --> Unities abgeben:
Hi Roland, so dramatisch ist das doch gar nicht... Ich muss durch meine Bücher auch immer zweimal durch: Nach dem ersten Lesen denke ich erstmal, ich hätte alles verstanden, und wenn's dann an die Praxis geht, merke ich erst, wie wenig ich wirklich kapiert habe. Dieses Beispiel hat den Vorteil, dass du direkt Fragen dazu stellen kannst, wenn du irgendwo nicht weiter kommst, und wirklich komplizierte Sachen sind nicht drin. Ich hätte gerne ein bißchen Feedback dazu - angefangen damit, ob die fertige DLL wirklich problemlos gestartet werden kann (weiss ja nur, dass sie auf _meinem_ Rechner läuft) und weiter, ob die Projekt-Konvertierung nach #dev und #builder funktioniert. Und zum Inhalt natürlich auch gerne;-) Gruß, Axel Strube-Zettler ------------------ Meine AutoLisp-Seiten Meine private Homepage Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RoSiNiNo Mitglied Konstrukteur
Beiträge: 1126 Registriert: 09.10.2002 Revit Structure 2011 Acad 2011-deutsch, Express Tools 3ds Max 2011 Win 7-Professional HP Workstation Z400, 6GB GeForce GTX 470
|
erstellt am: 12. Aug. 2004 13:13 <-- editieren / zitieren --> Unities abgeben: Nur für mapcar
Hi Axel, ich hatte bei der ersten Ausführung ein paar Probleme, mußte ACAD abwürgen, hab mir dann aber die Textdatei durchgelesen und dann hat alles einwandfrei funktioniert. Ich habe die Dateien auch in #Dev und #Builder reingeholt, auch das war kein Problem. Was den Inhalt anbelangt, da kann ich dir nun noch nicht viel sagen, ich schau mir noch einmal das Buch und deine Beispiele gleichzeitig an, gerade was die Vererbungen anbelangt muß ich mir nocheinmal alles einverleiben (das ist aber nicht das einzige). Auch bin beim Lesen des Codes draufgekommen das ich mir (fast) gar nichts gemerkt habe. Trotzdem ist es einmal ein Anfang, und für mich nicht ganz so einfach wie es für dich aussieht, bin ja doch ein Neuling, ein schlechter noch dazu ------------------ Roland Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dabrunz Mitglied
Beiträge: 127 Registriert: 28.05.2003
|
erstellt am: 09. Sep. 2004 12:37 <-- editieren / zitieren --> Unities abgeben: Nur für mapcar
so, endlich habe ich mir das Beispiel auch mal angesehen. Meine Bemerkungen: I. Außer dem Umbiegen der Referenzen gab's keine Probleme beim Import in #Develop - kompiliert sich auch ohne Probleme. II. Im Gegensatz zum Original habe ich gegen das .NET-Framwork 1.1 gelinkt, was auch dem Kompilieren keinen Abbruch tut. III. zwischenzeitlich hatte ich ein nicht reproduzierbares Problem beim Starten der Anwendung in "AutoCAD 2005 engl.", wo das Fehlen der 'adui16res.dll' per Exception bemängelt wurde - keine Ahnung, wo da die Referenz herkam .. Ansonsten siehts bisher ganz ordendlich aus - abgesehen von Hakeligkeiten in #Develop himself .. Achim Dabrunz ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mapcar Mitglied CADmin
Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 09. Sep. 2004 13:52 <-- editieren / zitieren --> Unities abgeben:
Hi Achim! > III. zwischenzeitlich hatte ich ein nicht reproduzierbares Problem > beim Starten der Anwendung in "AutoCAD 2005 engl.", wo das Fehlen > der 'adui16res.dll' per Exception bemängelt wurde - keine Ahnung, wo > da die Referenz herkam .. Tja, da habe ich keine Ahnung. Dieses Problem hatte ich nie, weder im deutschen noch im engl. Autocad. Die dll ist auch in beiden Versionen völlig identisch. Sag mal Bescheid, wenn du raushast, warum die Validierung immer erst beim zweiten Mal funktioniert;-) Ein Nachtrag übrigens noch: Ich hab mich ja so gewundert, warum USERI1-5 und USERR1-5 vorhanden sind, aber nicht USERS1-5: Die werden ja tatsächlich nicht in der Zeichnung gespeichert. Ich hab die Uservariablen nie benutzt, deswegen war mir das völlig neu. Frag mich nur jetzt erst recht, was die dann für einen Sinn machen... Gruß, Axel Strube-Zettler
------------------ (defun - Lisp over night - AutoLisp-Programmierung für AutoCad - Da weiß man, wann man's hat Meine AutoLisp-Seiten Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|