Muss ja identisch sein, sonst könnte man nur schwer ein Pluginsystem realisieren. Der Aufruf ist sowas wie
function StartSearch(opts : Pointer):TResult;
Der Pointer geht halt auf ein Objekt oder Struct, welches je nach Algorithmus unterschiedliche Attribute hat.
Die Attribute benötigen eine
GUI. Und da man nicht weis welche Algorithmen noch kommen und was die brauchen, kommt die
GUI in eine
DLL.
Edit: Die Frage ist aber doch:
GUI und Logik trennen?