OnFehler ist ja nur eine Art Variable, in die später beim Verwenden der Komponente eine Prozedur reinschreibst, die ausgeführt wird. Genauer gesagt kopierst du beim Zuweisen in der Hauptanwendung
Delphi-Quelltext
1:
| DeineKomponente.OnFehler := MainForm.DeineKomponenteFehler; |
den Zeiger der Prozedur
MainForm.DeineKomponenteFehler in OnFehler rein. Wenn du aber dies in der Hauptanwendung noch nicht getan hast, ist zeigt OnFehler auf keine gültige Prozedur (ist also
not assigned(OnFehler).
Wenn dies so ist, darfst du natürlich nicht versuchen OnFehler auszuführen, tust du es doch, masakriert dich Delphi mit einer netten und dezenten EAccessViolation.
Gruß alias5000