Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Messages und projektunabhänige Units (https://www.delphipraxis.net/69509-messages-und-projektunabhaenige-units.html)

emteg 16. Mai 2006 10:34


Messages und projektunabhänige Units
 
Ich habe mal ne ganze Reihe an Fragen zur Implementation von Messages. Meine Situation is wie folgt:

Ich möchte mir gerne ein Paar units schreiben, die alles Beinhalten, um Dateien übers netzwerk zu senden. Mein Ziel ist es, dass ich nur noch die Units einbinden muss und halt ein paar prozeduren aufrufe und messages senden muss, um das ganze in Gang zu bringen. Mit anderen Worten: der Code soll so aussehen, dass ich nirgendwo auf mein MainForm direkt zugreife, sondern halt ne message losschicke. Im Hauptprogramm wird dann einmal so eine Message Routine definiert, so dass ich am Ende quasi nur einmal Arbeit habe. Die Kommunikation, die Benötigt wird um den Transfer zu starten, läuft auch direkt übers MainForm. Am Ende soll eben auch da eine Schnittstellen kommunikation statt finden.

So, jetzt erstmal ne richtige Anfängerfrage: wie definiere ich mir so eine message procedure? Wie sieht es mit den parametern aus? Gibt es da Einschränkungen?

Und wie kann ich aus den Units heraus eine message schicken, ohne, dass ich mein MainForm direkt angeben muss? Gibt es so etwas wie Application.SendMessage?

Was sind besonderheiten von solchen Message prozeduren?

Danke schonmal, für eure Hilfe!

(Ich bin mir nicht 100%ig sicher, ob ich die richtige kategorie gewählt habe)

Luckie 16. Mai 2006 10:45

Re: Messages und projektunabhänige Units
 
Ich würde nicht mit Nachrichten arbeiten, sondern mit Klassen, Methoden und Ereignissen.

SirThornberry 16. Mai 2006 11:59

Re: Messages und projektunabhänige Units
 
@emteg: Ich hab die Vermutung das du die Event-Methoden meinst. Also sowas wie OnClick bei einem Button.
Ich würde empfehlen ein Object in einer Unit zu basteln welches über solche Events bescheid gibt wenn eine Message ankommt.

emteg 16. Mai 2006 13:51

Re: Messages und projektunabhänige Units
 
Naja, es is halt so: es gibt das Programm, die Application eben, welche für die Kommunikation über das netz verantwortlich ist. Der Filetransfer ist nur ein Aspekt davon. D.h. ich möchte dem Hauptprogramm z.b. gerne aus der unit sagen: "der transfer ist fertig". Darauf schickt das Hauptprogramm falls nötig noch ein paar netzwerk commands etc. Oder anders herum: ich beginne einen Transfer und erhalte übers netz die Information, dass der port xy benutzt werden soll. Jetzt muss mein Hauptprogramm der unit sagen, dass es diesen port benutzen soll.

Wär es vielleicht klüger und einfacher, wenn ich mir ne prozedur schreibe, die ein paar variablen oder pointer oder sowas ähnliches als parameter übernehmen kann und dass ich die dann als kommunikationsinterface benutze? Oder gibts da bessere wege?

SirThornberry 16. Mai 2006 16:04

Re: Messages und projektunabhänige Units
 
ich würde das ganze schon in eine extra unit als extra Object auslagern. Und dem Object dann ein OnTransferReady geben. Somit kann über das Ereignis die Hauptanwendung informiert werden.

shmia 16. Mai 2006 18:01

Re: Messages und projektunabhänige Units
 
Da wären "Mail Slots" die richtige Technik.
Eine Message wird an einen bestimmten Mail Slot verschickt.
Alle Empfänger, die den Mail Slot überwachen erhalten die Message.

Es gibt dazu einige Freeware Komponenten:
http://www.torry.net/pages.php?id=513


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:19 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz