Die Veröffentlichung der 2008er Produktfamilie von Autodesk brachte zahlreiche Neuerungen mit sich, insbesondere für die AutoCAD-Plattform. Während Autodesk diese Produkte offiziell ankündigte, rückte eine fundamentale Frage für Entwickler in den Vordergrund: die Migration bestehender Anwendungen. Für Nutzer, die sich bereits mit den Herausforderungen und Vorteilen der 64-Bit-Architektur auseinandergesetzt haben, wie beispielsweise beim autocad 2007 64bit, bietet AutoCAD 2008 in der 64-Bit-Version erhebliche Vorteile, insbesondere im Umgang mit sehr großen Datensätzen.
Diese Version ist nicht nur ein Meilenstein für Endnutzer, die von einer verbesserten Leistung profitieren, sondern auch für Entwickler, die ihre Anwendungen an die moderne Architektur anpassen müssen. Der Fokus liegt dabei auf der binären Kompatibilität und den spezifischen Anpassungen, die für eine reibungslose Funktion auf der 64-Bit-Plattform erforderlich sind.
Binäre Kompatibilität und die Bedeutung für die Migration
Eine der wichtigsten Nachrichten für Entwickler ist die binäre Kompatibilität von AutoCAD 2008. Anwendungen, die für AutoCAD 2007 entwickelt wurden, sollten im Wesentlichen mit AutoCAD 2008 funktionieren. Eine kleine Ausnahme bildet die Aktualisierung von Installationsprogrammen, die sich an der neuen Registrierungsstelle (unter “R17.1”) für Demand-Loading-Schlüssel orientieren müssen. Diese Kompatibilität ist ein großer Vorteil, da sie den Migrationsaufwand erheblich reduziert. Für Hintergrundinformationen zu binär kompatiblen Releases gibt es frühere Beiträge, die das Konzept detailliert erläutern.
Die 64-Bit-Version: Vorteile und Auswirkungen
Die Verfügbarkeit einer 64-Bit-Version von AutoCAD 2008 war für viele Nutzer von großer Bedeutung. Diese Version verhält sich nahezu identisch zur 32-Bit-Variante, ermöglicht es den Anwendern jedoch, mit deutlich größeren Datensätzen zu arbeiten. Dies ist besonders vorteilhaft in komplexen Ingenieur- und Designprojekten, wo der Bedarf an Arbeitsspeicher rasant ansteigt.
Ursprünglich wurden für Entwickler und Beta-Tester separate 32-Bit- und 64-Bit-Versionen von AutoCAD 2008 zum Download bereitgestellt. Der Plan sah jedoch vor, eine einzige DVD auszuliefern, die automatisch die passende Version (32-Bit auf unterstützten 32-Bit-Betriebssystemen und 64-Bit auf unterstützten 64-Bit-Betriebssystemen) installiert.
Ein wichtiger Punkt, der während der Entwicklung auftrat, betrifft die Verwendung von VBA (Visual Basic for Applications). VBA ist schlichtweg nicht als 64-Bit-Komponente verfügbar. Die 64-Bit-Version von AutoCAD führt VBA in einem separaten 32-Bit-Prozess aus, was sich auf die Performance von VBA-Anwendungen auswirken kann. Entwickler sollten dies bei der Planung ihrer Migration berücksichtigen.
Übersicht des 64-Bit ObjectARX Migrationsleitfadens für AutoCAD 2008
Auswirkungen auf den Code: Ein Blick auf die APIs
Für viele Entwickler ist die Auswirkung auf ihren vorhandenen Code bei der Unterstützung einer 64-Bit-Plattform von größtem Interesse. Hier eine kurze Zusammenfassung der wichtigsten APIs:
- LISP: Keine Auswirkungen – weder für LSP- noch für FAS-Dateien.
- .NET: Keine Auswirkungen – Assemblies sind plattformunabhängig.
- VBA: Geringe Auswirkungen – kleinere Codeänderungen und mögliche Performance-Einbußen.
- ObjectARX: Geringe Auswirkungen – kleinere Codeänderungen.
Diese Übersicht zeigt, dass der Migrationsaufwand je nach verwendeter API variiert. Während LISP und .NET nahezu unberührt bleiben, erfordern VBA und ObjectARX geringfügige Anpassungen.
ObjectARX-Migration im Detail: Polymorphe Datentypen
Um sich ein genaues Bild von den Änderungen einer neuen AutoCAD-Version zu machen, ist es hilfreich, die API-Header und Beispiele im ObjectARX SDK zu vergleichen. Tools wie WinMerge sind hierfür seit Jahren bewährt. Dieser Prozess liefert wertvolle Einblicke:
- Ein Vergleich der API-Header zeigt neue APIs und solche, die aktualisiert wurden oder Migrationsänderungen erfordern.
- Ein Vergleich der Beispiele vermittelt ein Gefühl für die spezifischen Änderungen, die an realem Code vorgenommen werden müssen. Während beim Übergang von den 2006er zu den 2007er SDKs die meisten Arbeiten die Umstellung auf UNICODE und Visual Studio 2005 betrafen, geht es bei 2008 hauptsächlich um 64-Bit, da alle Beispiele so geschrieben wurden, dass sie sowohl für Win32- als auch für Win64-Plattformen kompilierbar sind.
Die gute Nachricht ist, dass die notwendigen Änderungen im ObjectARX-Code zur Unterstützung von 64-Bit tatsächlich sehr gering sind. Eine Reihe von Datentypen wurde “polymorph”, was bedeutet, dass ihr zugrunde liegender Datentyp von der Plattform abhängt.
Screenshot von WinMerge, der Code-Änderungen in ObjectARX-Beispielen zeigt (Teil 1)
Auszüge aus dem 64-Bit-Migrationsleitfaden, der Teil des 64-Bit ObjectARX SDK ist, verdeutlichen dies:
In vielen Fällen wurden ObjectARX-Funktionssignaturen so geändert, dass sie polymorphe Typen verwenden. Beispielsweise wurden Long-Typen, die Zeiger speichern, in den Zeiger-Präzisionstyp LONG_PTR geändert. LONG_PTR bleibt Long für die 32-Bit-API-Nutzung und wird zu __int64 in 64-Bit-Builds. Ähnlich ändern sich Typen, die Legacy- (oder “alte”) Objekt-IDs darstellen, von LONG_PTR zu Adesk::Int-DbId. Grafiksystem (GS) und Auswahlmarker wurden von Int zu Adesk::GsMarker geändert.
Screenshot von WinMerge, der Code-Änderungen in ObjectARX-Beispielen zeigt (Teil 2)
Die folgende Liste fasst zusätzliche Änderungen von 32-Bit-Typen zu polymorphen Typen in ObjectARX-Funktionssignaturen zusammen:
Adesk::Int32ändert sich zuAdesk::LongPtrAdesk::UInt32ändert sich zuAdesk::ULongPtrDWORDändert sich zuDWORD_PTRunsigned longändert sich zuULONG_PTRunsigned intändert sich zuUINT_PTR
Screenshot von WinMerge, der Code-Änderungen in ObjectARX-Beispielen zeigt (Teil 3)
Obwohl der Leitfaden umfassend ist, sollte man nicht annehmen, dass die 64-Bit-Migration sehr kompliziert ist. Die meisten Entwickler, die bisher ihre ObjectARX-Anwendungen auf 64-Bit portiert haben, empfanden den Prozess als unkompliziert. Die bereitgestellten Beispiele in den 2007er und 2008er SDKs illustrieren diese Änderungen deutlich und bieten eine praktische Orientierung.
Umfassende Migrationsressourcen
Für einen detaillierteren Einblick in die 64-Bit-Migrationsanforderungen – einschließlich Informationen zu VBA und ObjectARX – empfiehlt sich die Präsentation “AutoCAD 2008 – 64-bit Porting Considerations”. Diese Präsentation, die als Video-Aufzeichnung und Download verfügbar ist, enthält alle notwendigen Informationen. Sie ist eine wertvolle Ressource für jeden Entwickler, der seine Anwendungen für die 64-Bit-Version von AutoCAD 2008 optimieren möchte.
Fazit
Der Übergang zu AutoCAD 2008 mit seiner 64-Bit-Version stellt eine wichtige Entwicklung dar, die Entwicklern neue Möglichkeiten eröffnet und gleichzeitig einen überschaubaren Migrationsaufwand mit sich bringt. Durch die binäre Kompatibilität und die geringfügigen, aber präzisen Anpassungen bei ObjectARX können Anwendungen effizient aktualisiert werden. Die bereitgestellten Ressourcen und die klaren Leitlinien machen den Prozess zugänglich und unkompliziert. Entwickler sind gut beraten, diese Neuerungen zu nutzen, um die Leistungsfähigkeit ihrer Anwendungen zu maximieren und von den Vorteilen der 64-Bit-Architektur voll zu profitieren.
