Benutzer-Werkzeuge

Webseiten-Werkzeuge


pr:mlib

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
Letzte Überarbeitung Beide Seiten, nächste Überarbeitung
pr:mlib [2010/12/29 23:41]
martok
pr:mlib [2011/08/19 20:56]
martok [Klassen] aktualisiert
Zeile 1: Zeile 1:
-====== Medienbibliothek/allgemeine Planung ​======+====== Medienbibliothek ======
 (Original-Thread [[http://​branch.delphi-forum.de/​topic_MedienIndizierungsSoftware_101096.html|im DF]]) (Original-Thread [[http://​branch.delphi-forum.de/​topic_MedienIndizierungsSoftware_101096.html|im DF]])
 +
 +Bilder: [[pr:​mlib:​Bilder|Bilderseite]]
 +
 +[[pr:​mlib:​Todo|To-Do Liste]]
  
 ===== Features ===== ===== Features =====
Zeile 81: Zeile 85:
     * //​Beispiele//:​ ExifViewer, VideoThumbnailSetter,​ Geotagger     * //​Beispiele//:​ ExifViewer, VideoThumbnailSetter,​ Geotagger
   * Viewer   * Viewer
-    * Bekommt Datei und ein Handle, Malt ein Bilderstellt Video-Player +    * Bekommt Datei, ​erzeugt daraus einen Renderer passend zum Datentyp 
-    * //​Beispiele//: ​ImageViewer,​ VideoPlayer +    * RendererStill 
-Global immer nur ein Objekt, dessen Methoden aufgerufen werden (also SideEffect-frei sein müssen).+      * Stellt Bildausschnitte auf einem Canvas dar (ImageViewer
 +    * RendererOther 
 +      * bekommt ein WindowHandlekann darauf passende Controls erstellen (VideoPlayer
 + 
 +Global ​ist ein Plugin ​immer nur ein Objekt, dessen Methoden aufgerufen werden (also SideEffect-frei sein müssen). ​Es können aber beliebig viele Schnittstellen implementiert werden (Pflicht: IMediaLibraryModule) 
 Alle Klassen sind auch extern ladbar, aber schon an Delphi gebunden. Keine besondere CallingConvention also. Alle Klassen sind auch extern ladbar, aber schon an Delphi gebunden. Keine besondere CallingConvention also.
  
Zeile 90: Zeile 99:
 Extern: DLL-Load->​ DLL.Register(@RegisterFunction),​ DLL ruft RegisterFunction mit Instanzen von dem was sie hat auf. (BPL, nur besser) Extern: DLL-Load->​ DLL.Register(@RegisterFunction),​ DLL ruft RegisterFunction mit Instanzen von dem was sie hat auf. (BPL, nur besser)
  
-RegisterClass prüft, ​welche Interfaces verwendet werden und sortiert in Listen ein; Ruft IClass.Init auf mit PRecord(Anzeigename,​Version,​Application)Den füllt der Implementor und behält eine Referenz, um an IApplication ran zu kommen -> Jeder Implementor muss IClass implementieren+RegisterClass prüft, ​ob IMediaLibraryModule implementiert wird; Ruft IMediaLibraryModule.Init auf und übergibt IMediaLibraryApplication.
pr/mlib.txt · Zuletzt geändert: 2011/10/29 20:16 von martok