nochmals kurz zusammenfassend:
ich habe aktuell ein fertiges projekt und in einer
unit alle 4 funktionen drinnen. dann eine weitere
unit, die bei start aufgerufen wird und die mir ein formular mit 4 button anzeigt, über welche ich die einzelnen funktionen aufrufen kann. klicke ich z.b. auf Button A dann startet mir Funktion A, baut das fenster auf mit formular und allem und füllt es mir. wenn ichs wieder zumache habe ich nur das andere fenster mit den buttons.
nun will ich das durch einen menüeintrag. also ich habe mein bisheriges projekt (das will ich bis auf das erste formular nicht verändern) und starte eine der funktionen (welche wird mit dem menüpunkt fix zugewiesen). also ich starte sagen wir funk_a.exe um die funktion A aufzurufen, funk_b.exe um funktion B aufzurufen usw.
also in gewisserweise wie bisher, nur dass die gewünschte funktion sofort kommt, ich damit arbeiten kann und wenn ich es beende, beendet sich das programm. so als ob das programm nur die eine funktion hat.
was ich mir auch schon überlegt habe wäre, dass ich im verzeichnis alle 4 wrapper units ablege und dann die verknüpfung vom menü auf das jeweilige exe file mache. oder es halt in 4 verzeichnise aufteile.
nur eben ich möchte an meinem bestehenden projekt bis auf das buttonformular (das soll weg) nichts ändern.
oberfläche brauch ich für die funktionen selbst schon, nur soll ausser den fenstern und formularen dieser gestarteten funktion kein anderes formular oder keine andere funktion kommen. also eben genau die gewünschte funktion aus der bestehenden
unit aufgerufen werden (mit ihren funktionen), je nachdem welchen menüpunkt ich nehme.
aktuell will ichs mal nur für eine einzige machen, egal ob das jetzt funktion A, B, C oder D ist.
ich glaube ich sollte mal etwas näher in meine struktur gehen:
meine funktionen liegen unter umeine_funks.pas
darin habe ich ein form definiert (ist für alle funktionen von der grundstruktur her gleich, nur ein paar dinge ändern sich, andere button bzw. beschriftungen, teilbereiche sichtbar bzw. nicht sichtbar usw.).
die form habe ich MainForm getauft.
die Funktionen sind dann also (Parameter lass ich jetzt mal hier weg):
function TMainForm.func_a;
function TMainForm.func_b;
function TMainForm.func_c;
function TMainForm.func_d;
dann habe ich eine
unit uStarteFunks.pas mit einem form StartFunkForm. Und per Clickevent starte ich die obigen Funktionen.
nun muss die
unit uStarteFunks.pas weg. Und ich brauche nun eine wrapper
unit, die mir z.B. TNainForm.func_a "nach aussen" liefert, dass diese gestartet wird, wenn ich die exe aufrufe.
Und genau darum gehts mir. wie muss nun eine
unit uwrapper_a.pas (z.B. für a) aussehen, dass ich eine exe bekomme, die mir genau funktion a startet und sonst nichts (kein weiteres formular anzeigt und keine anderen funktionen - nur das, was funktion a eben macht mit dem MainForm usw.)
ich habe also in der umeine_funks.pas 4 funktionen drinnen, von denen ich via wrapper
unit "von extern" immer genau eine aufrufen will. z.B. die funktion a indem ich z.B. ein starte_a.exe aufrufe und die startet mir die funktion a.