Zum Hauptinhalt springen

Plugin-Schnittstelle

Die Designer Plugin-Schnittstelle erweitert den Designer um die Möglichkeit, externe Anwendungen (Plugin-Clients) an den Designer anzubinden. Der Plugin-Client verbindet sich hierzu via Socket mit dem Designer. Nach erfolgreicher Authentifikation kann der Plugin-Client sowohl Befehle an den Designer senden, als auch Ereignisse des Designers empfangen. Somit ist es möglich den Designer um eigene Funktionen zu erweitern und ihn zu individualisieren.

In der CodeLibrary ist ein Beispiel zur Anwendung der Plugin-Schnittstelle enthalten. In diesem Beispiel wird in einem Dialog eine Liste aller Dialoge angezeigt. Wird ein Dialog im Designer aktiviert, wird dieser auch in der Liste selektiert. Durch einen Doppelklick auf einen Eintrag wird der Dialog im Designer geöffnet.

  1. Funktionsweise

    1. Nachrichtenaustausch

      1. Genereller Aufbau des Nachrichtenformates

        1. Antwortkennung
        2. Befehlskennung
        3. Befehlsname
        4. Argumentliste
        5. Rückgabe-Argumentliste
      2. Beispiele

        1. Befehl
        2. Ereignis
        3. Antwort
    2. Verbindungsherstellung

    3. Authentifikation

  2. Erstellung einer Plugin-Anwendung in CONZEPT 16

    1. Core-API

      1. Instanziierung

        1. Erstellung einer Instanz
        2. Schließen einer Instanz
        3. Schließen aller Instanzen
        4. Iterieren der Instanzen
        5. Ermitteln des JobControl-Objektes
        6. Senden einer Nachricht
        7. Empfangen einer Nachricht
        8. Eindeutige Antwortkennung generieren
        9. Informationen zur API ermitteln
        10. Ermitteln des zuletzt aufgetretenen Fehlers
    2. Converter-API

      1. Authentifizierungsaufforderung erwarten

      2. Authentifizierungsaufforderung beantworten

      3. Erstellen eines neuen PluginCommand-Handles

      4. Löschen eines PluginCommand-Handles

      5. Leeren eines PluginCommand-Handles

      6. Name des Plugin-Kommandos ermitteln

      7. Name eines Plugin-Kommandos überprüfen

      8. Ermitteln des Kommando-Typs

      9. Überprüfung auf einen bestimmten Kommando-Typ

      10. Ermitteln der Antwortkennung (fortlaufende Nummer)

      11. Ermitteln des zuletzt aufgetretenen Fehlers

      12. Setzen von Argumenten

        1. String-Argument
        2. 32-bit vorzeichenbehaftetes ganzzahliges Argument
        3. Logisches Argument
        4. String-Argument als Memory-Objekt
        5. Rückgabe-Argument
        6. Argument für Resultat des Designer-Befehls
      13. Ermitteln von Argumenten

        1. Argument nach Name ermitteln
        2. Argument nach Nummer ermitteln
        3. Ermitteln der Anzahl der Argumente
        4. Ermitteln der Länge eines Argumentes
        5. Argumentwert vom Typ _TypeAlpha ermitteln
        6. Argumentwert eines Base64 kodierten Argumentes vom Typ _TypeAlpha ermitteln
        7. Argumentwert vom Typ _TypeInt ermitteln
        8. Argumentwert vom Typ _TypeLogic ermitteln
        9. String-Argument als Memory-Objekt ermitteln
      14. Kodieren/dekodieren von Kommandos

        1. Kodieren eines Plugin-Kommandos in das Nachrichtenformat
        2. Dekodieren eines Plugin-Kommandos aus dem Nachrichtenformat
        3. Empfangen und dekodieren einer Nachricht
        4. Kodieren und Senden einer Nachricht
  3. Ereignisse des Designers

    1. Designer.Forms.OpenDone
    2. Designer.Forms.CloseDone
    3. Designer.Forms.ActivateDone
    4. Designer.Forms.SaveDone
    5. Designer.Forms.WriteLockChangeDone
    6. Designer.Forms.Selection.Menu.MenuSelect
    7. Designer.Dictionary.Enter
    8. Designer.Dictionary.Exit
    9. Designer.Editor.OpenDone
    10. Designer.Editor.CloseDone
    11. Designer.Editor.ActivateDone
    12. Designer.Editor.CompileDone
    13. Designer.Editor.SaveDone
    14. Designer.Editor.Document.Menu.MenuSelect
    15. Designer.MenuEditor.OpenDone
    16. Designer.MenuEditor.SaveDone
    17. Designer.Menu.Plugins.MenuSelect
    18. Designer.Exit
  4. Designer-Befehle

    1. Designer.Auth

    2. Designer.GetInfo

    3. Designer.Forms.*

      1. Designer.Forms.Open
      2. Designer.Forms.Export
      3. Designer.Forms.Import
      4. Designer.Forms.GetCount
      5. Designer.Forms.GetObject
      6. Designer.Forms.Selection.Get
      7. Designer.Forms.Selection.New
      8. Designer.Forms.Selection.GetCount
      9. Designer.Forms.Selection.GetObject
      10. Designer.Forms.Selection.GetPreview
      11. Designer.Forms.Selection.Menu.AddItem
      12. Designer.Forms.Selection.Menu.<Name>.Change
      13. Designer.Forms.Selection.Menu.<Name>.Remove
    4. Designer.MenuEditor.Open

    5. Designer.Editor.*

      1. Designer.Editor.Open
      2. Designer.Editor.Compile
      3. Designer.Editor.Document.Menu.AddItem
      4. Designer.Editor.Document.Menu.<Name>.Change
      5. Designer.Editor.Document.Menu.<Name>.Remove
    6. Designer.Menu.*

      1. Designer.Menu.File.New.Frame.Exec
      2. Designer.Menu.File.New.AppFrame.Exec
      3. Designer.Menu.File.New.MdiFrame.Exec
      4. Designer.Menu.File.New.TrayFrame.Exec
      5. Designer.Menu.File.New.PrintDoc.Exec
      6. Designer.Menu.File.New.PrintDocRecord.Exec
      7. Designer.Menu.File.New.PrintForm.Exec
      8. Designer.Menu.File.New.PrintFormList.Exec
      9. Designer.Menu.File.New.Menu.Exec
      10. Designer.Menu.File.Open.Exec
      11. Designer.Menu.File.Reopen.Exec
      12. Designer.Menu.File.Save.Exec
      13. Designer.Menu.File.SaveAs.Exec
      14. Designer.Menu.File.ReadWrite.Exec
      15. Designer.Menu.File.Close.Exec
      16. Designer.Menu.File.CloseAll.Exec
      17. Designer.Menu.File.Import.Exec
      18. Designer.Menu.File.Export.Exec
      19. Designer.Menu.File.Menu.Exec
      20. Designer.Menu.File.Test.Exec
      21. Designer.Menu.File.MainProc.Exec
      22. Designer.Menu.File.Config.Exec
      23. Designer.Menu.File.Exit.Exec
      24. Designer.Menu.Extras.Dictionary.Exec
      25. Designer.Menu.Extras.RecordManagement.Exec
      26. Designer.Menu.Extras.BlobManagement.Exec
      27. Designer.Menu.Extras.UserManagement.Exec
      28. Designer.Menu.Extras.Resource.Exec
      29. Designer.Menu.Extras.ViewAppLog.Exec
      30. Designer.Menu.Plugins.AddItem
      31. Designer.Menu.Plugins.<Name>.Change
      32. Designer.Menu.Plugins.<Name>.Remove
    7. Designer.Storage.*

      1. Designer.Storage.Create
      2. Designer.Storage.Load
      3. Designer.Storage.NewObject
      4. Designer.Storage.<StorageName>.Save
      5. Designer.Storage.<StorageName>.Unload
      6. Designer.Storage.<ObjectName>.DeleteObject
      7. Designer.Storage.<ObjectName>.RenameObject
      8. Designer.Storage.<ObjectName>.WriteKey
      9. Designer.Storage.<ObjectName>.ReadKey
      10. Designer.Storage.<ObjectName>.ReadNames
      11. Designer.Storage.LastLockingInfo
      12. Designer.Storage.<ObjectName>.ExportFile
      13. Designer.Storage.<ObjectName>.ExportStream
      14. Designer.Storage.ImportFile
      15. Designer.Storage.ImportStream
    8. Designer.Plugins.Shutdown

    9. Designer.LastXmlError