| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Erkennen ob 64 bit oder 32 bit Autocad läuft (4217 mal gelesen)
|
Goofy007 Mitglied Vermessungstechniker
Beiträge: 578 Registriert: 06.11.2004 Map3D 2018 und Civil3D 2018
|
erstellt am: 01. Sep. 2010 11:53 <-- editieren / zitieren --> Unities abgeben:
|
Ex-Mitglied
|
erstellt am: 01. Sep. 2010 12:00 <-- editieren / zitieren -->
Hi, Sysvar PLATFORM abfragen, da steht als Text (x86) oder (x64) drin. - alfred - ------------------ www.hollaus.at |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 - ACA 2013 Arcibem System: Windows NT, 2000, XP Internet-Startseite: http://www.archi.de
|
erstellt am: 01. Sep. 2010 13:22 <-- editieren / zitieren --> Unities abgeben: Nur für Goofy007
|
Goofy007 Mitglied Vermessungstechniker
Beiträge: 578 Registriert: 06.11.2004 Map3D 2018 und Civil3D 2018
|
erstellt am: 01. Sep. 2010 13:31 <-- editieren / zitieren --> Unities abgeben:
Danke, aber jetzt hab ich ein neues Problem. Denn ich wollte nun eine IF-Verzweigung machen, in der je nach System entweder
Code: Set ParentObject = ThisDrawing.ObjectIdToObject32(Object.OwnerID32)
oder
Code: Set ParentObject = ThisDrawing.ObjectIdToObject(Object.OwnerID)
stehen sollte. Damit würde mein Makro sowohl mit 32bit als auch mit 64bit Autocad laufen.Aber Autocad bringt mir nun eine Fehlermeldung, weil er mindestens eine der Zeilen nicht versteht. Dabei ist auch egal, dass der (falsche) Code in einer if-Verzweigung steht, welche nie ausgeführt wird. Könnt ihr mir sagen, was ich machen muss, damit mein Code unter beiden Plattformen läuft. lg Didi
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 01. Sep. 2010 18:59 <-- editieren / zitieren -->
Hi, nein, geht so nicht, da der gesamte Code eines Projekts (zumindest eines Teils wie 'Sub', 'Function', ...) kompiliert wird bevor dieser exekutiert wird. Einzige Variante (wie es in VS gang und gebe ist) wäre >>>Conditional Compilation<<< genannt. Ein Beispiel für Excel hätte ich auch >>>hier<<< gefunden. Ob das aber mit VBA für AutoCAD so jetzt umsetzbar ist, hab ich nicht probiert. Vorsicht gleich mit 64bit-Erkennung ==> der VBA-Interpreter läuft im 64bit-AutoCAD auch nur über IPC als 32bit-Applikation, leicht möglich, dass Du da mit einer automatischen Erkennung ein Problem bekommen kannst. HTH, - alfred - ------------------ www.hollaus.at |
Ex-Mitglied
|
erstellt am: 01. Sep. 2010 19:09 <-- editieren / zitieren -->
Hi, @Henning: >> wegen der doch möglichen AMD64er nur auf "64", nicht "x64" testen Das gilt doch nur für die Prozessorarchitektur, jedoch nicht bei der Sysvar PLATFORM, die gibt ja nicht zurück, welchen Betriebssystem-Modus Du hast, sondern in welchem Modus sich AutoCAD befindet! Z.B. Civil3D2010 (gibt es nur 32bit) auf Win7x64 liefert: PLATFORM = "Microsoft Windows NT Version 6.1 (x86)" (schreibgeschützt) Und auf dem gleichen Rechner Civil3D2011 (64bit), damit dem gleichen Betriebssystem Win7x64 ergibt PLATFORM: PLATFORM = "Microsoft Windows NT Version 6.1 (x64)" (schreibgeschützt) Und für Apps, die innerhalb von AutoCAD laufen, brauchst Du genau dieses und das Betriebssystem kann Dir dabei ganz egal sein. - alfred -
------------------ www.hollaus.at [Diese Nachricht wurde von a.n. am 01. Sep. 2010 editiert.] |
| Konstrukteur (m/w/d) Verfahrensentwicklung | Als Tochtergesellschaft der weltweit agierenden französischen Unternehmensgruppe VYGON, die mit 2.350 Mitarbeitern einen Umsatz von 344 Mio. EUR erzielt, sind wir ein weltweit führender Hersteller von Hightech-Medizinprodukten für den Einmalgebrauch. Am Standort Aachen beschäftigen wir 350 Mitarbeiter. Wir entwickeln, fertigen und vertreiben Produkte für die Klinik und die ambulante Versorgung ... | Anzeige ansehen | Konstruktion, Visualisierung |
|
Goofy007 Mitglied Vermessungstechniker
Beiträge: 578 Registriert: 06.11.2004 Map3D 2018 und Civil3D 2018
|
erstellt am: 02. Sep. 2010 07:39 <-- editieren / zitieren --> Unities abgeben:
|