tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
375
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    JK_net JK_net ist offline Mitglied Gold
    Registriert seit
    Nov 2004
    Beiträge
    133
    Hallo!

    Ich habe eine MDI-Anwendung, in der ich ein Menü mit meinen PlugIns habe.
    Bei Bedarf wähle ich die Anwendung (PlugIn) aus, welche ich benötige, bzw. starten möchte.

    Wenn ich jetzt aber zwei PlugIns geladen habe, möchte ich beim Aktivieren eines der beiden PlugIns herausfinden, welche Anwednung das ist. D.h. ich möchte zu der aktivierten Anwendung den Pfadnamen ermitteln.

    Hat von Euch jemand eine Idee, wie man daran geht und das heraus findet?

    Vielen Dank für Eure Hilfe im Voraus!

    MfG
    Jens
     

  2. #2
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Entweder machst es über den Namen, oder die Plugins müssen eine entsprechende Property besitzen. Ansätze gibts hierfür ein paar.

    Wie machst es denn? Lädst du einfach die Assembly wenn das Plugin gestartet wird?
     

  3. #3
    JK_net JK_net ist offline Mitglied Gold
    Registriert seit
    Nov 2004
    Beiträge
    133
    Hallo!

    Hat sich schon erledigt, trotzdem vielen Dank!

    Hier nochmal der Code zum Laden des PlugIns:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    
    try 
    {
    Assembly a = Assembly.LoadFile(file);
    // Make it MDI
    // Get the types in the assembly
    Type[] types = a.GetTypes();
    // Iterate and find types derived from Form Instantiate them
    foreach(Type t in types)
    {
        if (t.BaseType == typeof(Form))
        {
         Form form = (Form)Activator.CreateInstance(t);
         form.MdiParent = this; // Set as MDI children
         form.Text = ((MenuItem)data).Text;
         form.Show();
         break;
        }
    }
    }
    catch(Exception ex)
    {
    MessageBox.Show("Fehler: " + ex.Message);
    }

    Im Menü sind die PlugIns mit dem Namen der DLL oder EXE eingetragen. Daher setzt sich dann die Variable "file" aus dem Pfad (vorgegeben), dem Menüeintrag und der Endung entweder DLL oder EXE zusammen.

    Für mein Problem habe ich jetzt rausgefunden, dass ich
    Code :
    1
    
    this.ActiveMdiChild.Text
    verwenden kann, da die Caption des MdiChilds meinem Menüeintrag entspricht.

    MfG
    Jens
     

Ähnliche Themen

  1. Aktives Fenster
    Von pinsleepe im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 4
    Letzter Beitrag: 17.02.10, 09:38
  2. PopUpManager - aktives Fenster ermitteln
    Von Nervensache im Forum Adobe Flex & AIR
    Antworten: 0
    Letzter Beitrag: 12.03.09, 12:53
  3. Aktives Fenster und Tastatureingabenspeicher
    Von Marco7757 im Forum .NET Windows Forms
    Antworten: 0
    Letzter Beitrag: 28.01.09, 19:44
  4. aktives Steuerelement
    Von Rainer Wein im Forum .NET Windows Forms
    Antworten: 2
    Letzter Beitrag: 23.07.08, 22:56
  5. Senden an AKtives Fenster!
    Von vbanfaenger im Forum Visual Basic 6.0
    Antworten: 4
    Letzter Beitrag: 21.07.04, 14:15