Hi VT-DA
Zitat:
Dein Typ hab ich dann oben bei den anderen eingefügt...
Tja... Das ist leider nicht mein Typ, der gehört zum Lieferumfang von Delphi. Du hast mich auch ein wenig missverstanden. Damit kannst du nicht prüfen,
OB der Button gedrückt wurde. Stattdessen erzeugst du quasi einen "künstlichen" Klick. Der Parameter der fehlt, ist der Sender. Funktionieren würde es mit
if OnClick(ButtonArray[i]) = ButtonArray[i].BHandel then ...
Allerdings haut dir dann der Compiler vermutlich irgendwas in der Art von "Eine Prozedur hat keinen Rückgabewert" um die Ohren. Und warum? Weil OnClick (bzw. überhaupt ein TNotifyEvent) nicht dazu da ist, zu überprüfen, ob das entsprechend Event (also hier der Klick) eingetreten ist. Stattdessen ist es dazu gedacht, auf Ereignisse zu
reagieren.
Außerdem verstehe ich nicht ganz, wofür du das ButtonArray brauchst. Alles was du damit machst, ist dir aus dem Array wieder den in Obj übergebenen Button rauszusuchen.
if Obj = ButtonArray[i].BHandel then
Warum ersetzt du also nicht die for-Schleife und arbeitest direkt mit dem Parameter Obj? Und weshalb hast du als Rückgabewert einen Integer? Das sieht nämlich eigentlich eher nach einer Boolean aus...
Matze, die Funktion steht in einer
DLL, daher bringt es nichts, die WndProc des Forms zu überschreiben. Denn danach weiß zwar das Form Bescheid, dass ein Button geklickt wurde--die Funktion in der
DLL aber immer noch nicht.
Aber irgendwie muss ich auch sagen dass ich nicht so richtig verstehe, wofür du diese Funktion brauchst. Kannst du das nicht irgendwie anders lösen? Erzähl doch einfach mal, was du überhaupt vorhast, vielleicht ergibt sich dann ja noch eine andere Lösung.