Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  Acad-Events und VB2005

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
  
NVIDIA GTC Paris und ISC High Performance-Konferenz 2025, eine Pressemitteilung
Autor Thema:  Acad-Events und VB2005 (405 mal gelesen)
BJ
Mitglied
PLM System Administrator


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

Beiträge: 488
Registriert: 20.12.2002

erstellt am: 21. Jun. 2006 16:36    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!

In meinem Progrämmchen werden bestimmte Events von Acad abgefangen, was auch soweit tut. Aber wenn ich die Events dann weiter in meiner UserForm auswerten will - z.b. Dateiname in einer Textbox anzeigen bei einem BeginFileDrop-Event - bricht das Programm ab, sobald ich die Userfrom ansprechen will (Me.Textbox1.Text=Filenname). Fehlermeldung: "Threadübergreifender Vorgang".
Jemand einen Rat?

Gruß,
BJ

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

Stelli1
Moderator
Verm.-Ing.


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

Beiträge: 1526
Registriert: 17.08.2005

Map 2000-2014, Rasterdesign,
MapGuide, Autodesk Topobase,
VS6, VS.net 2013

erstellt am: 23. Jun. 2006 08:56    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 BJ 10 Unities + Antwort hilfreich

Hallo,

Um eine Antwort zu geben sollte man wissen was du gemacht hast.
VB2005 = VB.Net 2005 ???
Zugriff über Active X (alte Frage) ???
Dim with events ???

Stelli

------------------
Warum lisp'eln wenn's auch anders geht.
www.ib-stelberg.de

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

BJ
Mitglied
PLM System Administrator


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

Beiträge: 488
Registriert: 20.12.2002

erstellt am: 23. Jun. 2006 13:01    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 Stelli!

Das Problem konnte ich nach viel Kopfschmerzen selber lösen

Zu deinen Fragen:
VB2005 = VB.NET 2005 was anderes gibt's nicht (meines wissens)
Zugriff kann in dem Fall nur uber COM-Objekte gehen.
Und ACAD-Events können nur mit WithEvents abgefangen werden.

Die Lösung (falls von Interesse):
Das Problem ist, das .NET keine threadübergreifenden Vorgänge zulässt. Mit einem kleinen Trick, kann man sich aber behelfen.

Private WithEvents ACEvents As Autodesk.AutoCAD.Interop.AcadApplication
Private Delegate Sub BeginFileDropDelegate(ByVal FileName As String)
Private BeginFileDrop As New BeginFileDropDelegate(AddressOf SetFileName)

Private Sub ACEvents_BeginFileDrop(ByVal FileName As String, ByRef Cancel As Boolean) Handles ACEvents.BeginFileDrop
        Dim obj(0) As Object
        obj(0) = FileName
        '**** hier wird der Event, der von eimem fremden Tread ausgelöst wurde, an den Hauptthread (mein Programm) übergeben

        Invoke(BeginFileDrop, obj(0))
End Sub

Private Sub SetFileName(ByVal FileName As String)
        FileName = Strings.Right(FileName, Strings.Len(FileName) - Strings.InStrRev(FileName, "\")) '**** Pfad entfernen
        FileName = Strings.Left(FileName, Strings.Len(FileName) - 4)    '**** Erweiterung entfernen
        Me.Label1.Text = FileName
End Sub

Gruß, 
BJ


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)2025 CAD.de | Impressum | Datenschutz