Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  VS2008 VB.Net acDoc.SendStringToExecute

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  VS2008 VB.Net acDoc.SendStringToExecute (2815 mal gelesen)
ManuelKuhn
Mitglied
Techniker und DvD :-)


Sehen Sie sich das Profil von ManuelKuhn an!   Senden Sie eine Private Message an ManuelKuhn  Schreiben Sie einen Gästebucheintrag für ManuelKuhn

Beiträge: 100
Registriert: 23.03.2005

Intel XEON W3503 @ 2.4GHz
8 GB DDR3
NVIDIA QUADRO FX3800
WinXP Prof SP3 x64
ACAD 2007 + ProSteel 17.2/ 18
ACAD 2010 + ProSteel V8i S3
Rhino 3D V4
Autodesk VIZ-2006 ( bald vielleicht Max2011 :-D )

erstellt am: 24. Feb. 2011 14:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen,

ich hätte mal ne Frage, an die VB.Net Fraktion (ich stelle sie hier, da es leider kein AutoCAD.Net Forum gibt)

Ich bin gerade dabei die ersten gehversuche mit VisualStudio und VB.NET zu machen und muss für mein Programm eine zusätzliche dll in AutoCad einladen, sprich nachdem ich mein Plugin mit netload geladen habe, soll automatisch die entsprechende dll mitgeladen werden. Mein Gedanke war das genze so anzugehen;

Code:

Imports System
Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.DatabaseServices
Imports Autodesk.AutoCAD.EditorInput
Imports Autodesk.AutoCAD.Runtime

Public Class Class1

    <CommandMethod("net_com")> _
    Public Sub Main()

        Dim acDoc As Document = Application.DocumentManager.MdiActiveDocument
        acDoc.SendStringToExecute("filedia 0 ", True, False, True)
        acDoc.SendStringToExecute("netload C:\Program Files\Common Files\Bibliothek.dll ", True, False, True)
        acDoc.SendStringToExecute("filedia 1 ", True, False, True)

    End Sub
End Class


Nur leider funktioniert das ganze nicht, denn im Abschnitt ("netload C:\Program Files\Common Files\Bibliothek.dll ", True, False, True) bleibt AutoCAD "hängen", da es anscheinend das letzte Leerzeichnen nicht als ENTER erkennt, sondern denkt, dass es noch zum Dateinamen gehört :( und dann steht in meiner Kommandozeile folgendes:

Zitat:
Command: netload Assembly file name: C:\Program Files\Common Files\Bibliothek.dllfiledia 1

Kann mir da einer weiterhelfen?

Grüße aus Wü
Manu

------------------
Etwaige Rechtschreibfehler sind gewollt und dienen der allgemeinen Belustigung 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



Sehen Sie sich das Profil von CAD-Huebner an!   Senden Sie eine Private Message an CAD-Huebner  Schreiben Sie einen Gästebucheintrag für CAD-Huebner

Beiträge: 9732
Registriert: 01.12.2003

AutoCAD 2.5 - 2022, LDD, MDT, RD, ADT, Civil
Inventor AIP 4-11, 2008 -2022
Win 10

erstellt am: 24. Feb. 2011 14:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für ManuelKuhn 10 Unities + Antwort hilfreich

Probier mal
acDoc.SendStringToExecute("netload C:\Program Files\Common Files\Bibliothek.dll\n", True, False, True)

------------------
Mit freundlichem Gruß

Udo Hübner
www.CAD-Huebner.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied

erstellt am: 24. Feb. 2011 14:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

probier dieses:

Code:
acDoc.SendStringToExecute("netload C:\Program Files\Common Files\Bibliothek.dll" & vbCR, True, False, True)

dotNET wird im >>>ARX-Forum<<< mitdiskutiert, egal, wir haben auch das hier gefunden. 

- alfred -

------------------
www.hollaus.at

ManuelKuhn
Mitglied
Techniker und DvD :-)


Sehen Sie sich das Profil von ManuelKuhn an!   Senden Sie eine Private Message an ManuelKuhn  Schreiben Sie einen Gästebucheintrag für ManuelKuhn

Beiträge: 100
Registriert: 23.03.2005

Intel XEON W3503 @ 2.4GHz
8 GB DDR3
NVIDIA QUADRO FX3800
WinXP Prof SP3 x64
ACAD 2007 + ProSteel 17.2/ 18
ACAD 2010 + ProSteel V8i S3
Rhino 3D V4
Autodesk VIZ-2006 ( bald vielleicht Max2011 :-D )

erstellt am: 24. Feb. 2011 15:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo ihr zwei,

vielen Dank, für die super schnelle Hilfe!


Zitat:
acDoc.SendStringToExecute("netload C:\Program Files\Common Files\Bibliothek.dll" & vbCR, True, False, True)

Das hat funktioniert, eine gute Idee, "NewLine" als ENTER zu nutzen, warum bin ich da nicht drauf gekommen!!? 

@Udo: für was steht das \n

In Zukunft kommen meine Fragen ins ARX Forum! 

------------------
Etwaige Rechtschreibfehler sind gewollt und dienen der allgemeinen Belustigung 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



Sehen Sie sich das Profil von CAD-Huebner an!   Senden Sie eine Private Message an CAD-Huebner  Schreiben Sie einen Gästebucheintrag für CAD-Huebner

Beiträge: 9732
Registriert: 01.12.2003

AutoCAD 2.5 - 2022, LDD, MDT, RD, ADT, Civil
Inventor AIP 4-11, 2008 -2022
Win 10

erstellt am: 24. Feb. 2011 15:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für ManuelKuhn 10 Unities + Antwort hilfreich

\n steht für Newline bzw. Enter in Lisp und auch C#.net, deshalb mein Schnellschuss. Aber bei VB.net ist es VBCr (wie mich auch schon Alfred korrigierte).

------------------
Mit freundlichem Gruß

Udo Hübner
www.CAD-Huebner.de

[Diese Nachricht wurde von CAD-Huebner am 24. Feb. 2011 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

ManuelKuhn
Mitglied
Techniker und DvD :-)


Sehen Sie sich das Profil von ManuelKuhn an!   Senden Sie eine Private Message an ManuelKuhn  Schreiben Sie einen Gästebucheintrag für ManuelKuhn

Beiträge: 100
Registriert: 23.03.2005

Intel XEON W3503 @ 2.4GHz
8 GB DDR3
NVIDIA QUADRO FX3800
WinXP Prof SP3 x64
ACAD 2007 + ProSteel 17.2/ 18
ACAD 2010 + ProSteel V8i S3
Rhino 3D V4
Autodesk VIZ-2006 ( bald vielleicht Max2011 :-D )

erstellt am: 24. Feb. 2011 15:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Zitat:
und auch C#.net[/B]

dsa ist aber auch gut zu wissen, früher oder später wird das evtll. für mich auch ein Thema!

Danke dir!

------------------
Etwaige Rechtschreibfehler sind gewollt und dienen der allgemeinen Belustigung 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

oscarr
Mitglied
CAD-Manager


Sehen Sie sich das Profil von oscarr an!   Senden Sie eine Private Message an oscarr  Schreiben Sie einen Gästebucheintrag für oscarr

Beiträge: 198
Registriert: 02.10.2007

erstellt am: 25. Feb. 2011 10:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für ManuelKuhn 10 Unities + Antwort hilfreich

Also vielleicht nochmal ein etwas anderer Ansatz. Ich persönlich vermeide so gut es geht SendStringToExecute u.ä.

Was auch geht ist die assembly in .NET zu laden:

Code:

            Dim assemblyBytes() As Byte = File.ReadAllBytes("D:\Test.dll")
            Dim SymbolAssemblyBytes() As Byte = File.ReadAllBytes("D:\Test.pdb")
            Dim MyAssembly As Assembly = Assembly.Load(assemblyBytes, SymbolAssemblyBytes)


Die zweite Zeile wird nur benötigt wenn Du die dll auch debuggen möchtest ansonsten kann man das weglassen.

Du sprachst auch davon das du mit dem netload deiner dll automatisch die andere dll geladen werden soll.
In Deinem Beispiel nutzt Du jedoch einen AutoCAD Befehl dafür der extra aufgerufen werden muss.
"Richtig" automatisch ginge es:

Code:

Public Class Class1
    Implements IExtensionApplication

    Public Sub Initialize() Implements IExtensionApplication.Initialize

        Dim assemblyBytes() As Byte = File.ReadAllBytes("D:\Test.dll")
        Dim MyAssembly As Assembly = Assembly.Load(assemblyBytes)

        Dim ed As Autodesk.AutoCAD.EditorInput.Editor = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor
        ed.WriteMessage(vbCr + "Initialize Version: " & My.Application.Info.Version.ToString & vbCrLf)
#If DEBUG Then
        ed.WriteMessage(vbCr + "DEBUG" & vbCrLf)
#End If
    End Sub

    Public Sub Terminate() Implements IExtensionApplication.Terminate
    End Sub


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz