| | | 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: vb.net - Events beim Laden einer Klasse aktivieren (526 / mal gelesen)
|
tappenbeck Mitglied Vermessungsingenieur
Beiträge: 1217 Registriert: 30.05.2002 AutoCAD (Map)2019, Topobase, MapEdit, Lisp, .vb.net
|
erstellt am: 26. Jun. 2017 12:21 <-- editieren / zitieren --> Unities abgeben:
Moin! bin noch bei meinem Thema mit den Events. Ich war immer der Auffassung, dass mit dem Laden einer Klasse die New-Funktion ausgeführt wird. Der Debugger hat mich eines besserem belehrt bei folgendem Code: Code:
Public Class main Dim docCol As DocumentCollection = Application.DocumentManager Private _Editor As Autodesk.AutoCAD.EditorInput.Editor Public Sub New() Try Dim acDoc As Autodesk.AutoCAD.ApplicationServices.Document = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument _Editor = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor acDoc.SendStringToExecute("_.UNDEFINE SAVE ", False, False, False) acDoc.SendStringToExecute("_.UNDEFINE SAVEAS ", False, False, False) Catch ex As Exception _Editor.WriteMessage("<<[Error]: New>>" & Environment.NewLine) End Try ' aktivieren der Events-Abfänge docLockModeAktiv() End Sub <CommandMethod("docLockEin")> _ Public Sub docLockModeAktiv() AddHandler docCol.DocumentLockModeChanged, AddressOf docLockModChanged End Sub ...
Erst wenn docLockEin manuell aufgerufen wird, dann wird auch in new gesprungen. Oder wie binde ich eine solche Event-Funktion ein? Kann mir einer weiterhelfen? Gruß Jan ------------------ jan :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 26. Jun. 2017 13:38 <-- editieren / zitieren --> Unities abgeben: Nur für tappenbeck
Hallo Jan, hast du jemals an einer .Net-Basisschulung teilgenommen? Ich kann's nur empfehlen, am besten noch gezielt für AutoCAD - das kann aber auch der zweite Schritt sein. Eine Klasse bestimmt lediglich, wie ein Objekt gestaltet ist. Dazu gehören die: - Konstruktoren - Eigenschaften - Methoden - Events In einem Konstruktor, bestimmst du, was bei der Instanzierung, also der Erzeugung eines Objekts (diesen Types) alles geschieht. Konstruktoren können mehrere existieren, die sich durch ihre Parameter unterscheiden. Beispiel (c#)
Code:
public class Message { // Property public string Text{ get; set; } // Konstruktor(en) public Message() {} public Message(string _text) { Text = _text; } // Methode public void Show() { System.Diagnostics.Debug.Print(Text); } }//Zu einem Objekt wird das erst, wenn du eine Instanz dieser Klasse mit new erzeugst. Message _mText = new Message(); // Property setzen mText.Text = "Hallo"; // oder Message mText = new Message("Hallo"); // Methode anwenden mtext.Show();
Soviel mal ganz schnell zu den Basics. Grüße! Holger
------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen.
defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|