Ahnenblattportal Forum Index
 •Portal  •Imprint  •Forum  •Search  •Profile  •Log in to check your private messages  •Log in   •Register  

 694: Erweiterung Plugin-Schnitstelle

This forum is locked: you cannot post, reply to, or edit topics.This topic is locked: you cannot edit posts or make replies.
Author Message
ThomasG




Gender:
Age: 42
Joined: 30 May 2007
Posts: 298
Topics: 35
Location: Preußen (mittlerweile Rheinprovinz)


blank.gif

PostPosted: 26.07.2008, 10:07    694: Erweiterung Plugin-Schnitstelle  Reply with quoteBack to top

Morgen !

Der Pluginschnitstelle fehlt natürlich noch die Interaktion in Form von Rückgabemöglichkeiten an Ahnenblatt.

Mit dem WIN-API kann man ja mit SendMessage eine Nachricht an ein Fenster senden.

Spielen wir mal hier etwas am Beispiel des Plugin Inselfinder durch:

1. Nach Start von AB sollte das Fenster Handle irgendwie verfügbar sein. Entweder in Form einer Umgebungsvariablen oder als Variable in der ABP-Datei. Somit hat dann das Fremdprogramm (Plugin) schon mal die Fensternummer und kann an AB eine Nachricht senden.
Erklärung warum so:
Ich komme zwar an das Handle des AB-Fensters, wenn ich mittels API rausfinde welche Anwendung das Plugin gestartet hat, aber AB hat leider genug Fenster und die Instanzierende Anwendung ist das sichtbare Fenster, ich brauch aber das versteckte Hauptfenster.... Oder war’s umgekehrt ?
Naja auf alle Fälle mußte ich erst mal massig Fenster enumerieren, bevor ich dann das Handle für das sichtbare Fenster gefunden hatte.

2. Inselfinder führt die Aktionen aus und das Plugineigene Fenster wird angezeigt.

3. Inselfinder sendet mit SendMessage eine Nachricht an das AB-Hauptfenster (oder welches auch immer was die eingehenden Nachrichten abhört)
- Eine Nachricht würde dann einfacherweise so ungefähr aussehen
Ein String in Form „DruckeBlätter,1,2,5,7,10“
Ahnenblatt bekommt somit einen Befehl und Nummern übergeben. Die Nummer geben an welche Personen gemeint sind (Ref-Nummern).
Dann öffnet AB seinen Dialog zum drucken von Personenblättern und hat gleich die entsprechenden Personen markiert.
Andere Möglichkeit: String „Lösche,1,2,5,7,10“
AB soll nun den Löschen-Dialog zeigen und auch wieder gleich die Personen markieren.

Zusammenfassend:
- Irgendwie muß für Fremdprogramme das Fensterhandle Verfügbar sein, um an AB eine Nachricht zu schicken.
- Nachricht muß einen Befehl und Personennummern beinhalten, was wohl am Besten in Stringform wie oben geht.
- AB muß dann die Personennummern lesen und den Befehl interpretieren um dann seinerseits eine Standard-Dialogbox anzuzeigen, in welcher gleich die entsprechenden Personen markiert sind.

Dise eine Empfangsroutine in AB wäre schon mal sehr super, da sich viel damit machen läßt.
Wie oben schon geschrieben mit Inselfinder einfach die Personenblätter einer Insel drucken oder die Insel löschen oder alle anderen Personen löschen.
In den Sinn kämen mir dann noch verschiedene Suchroutinen... zum Beispiel eine phonetische Suche nach Nachnamen und so weiter, oder nur alle die, die in Kleinkleckersdorf geboren sind.

Gruß: Thomas

------------------------------------
#Wunschliste_694_OFFEN

OfflineView user's profileSend private message    
Display posts from previous:      
This forum is locked: you cannot post, reply to, or edit topics.This topic is locked: you cannot edit posts or make replies.


 Jump to:   




Show permissions


Board Security

Powered by Orion based on phpBB © 2001, 2002 phpBB Group
CBACK Orion Style based on FI Theme
All times are GMT + 1 Hour



[ Page generation time: 0.0659s (PHP: 86% - SQL: 14%) | SQL queries: 22 | GZIP enabled | Debug on ]