Ich muss nochmal nachfragen.
Mein bisheriger Code:
Delphi-Quellcode:
unit core;
interface
uses d2xxcomp, ...
type
ReadIn =
class
procedure parse(
message:
String);
end;
var
d2xx: TD2xx;
// ...
procedure load;
implementation
procedure load;
begin
d2xx := TD2xx.Create(
nil);
// ...
d2xx.onRead := ReadIn.parse;
// [Fehler] core.pas(55): Inkompatible Typen: 'TReadEvent' und 'Procedure'
// ...
end;
procedure ReadIn.parse(
message:
String);
begin
//blub
end;
begin
// ...
end.
d2xx.onRead ist definiert als:
Delphi-Quellcode:
type
TReadEvent = procedure(message: String) of object;
Warum akzeptiert Delphi die Zuweisung
d2xx.onRead := ReadIn.parse; nicht? Es handelt sich nun um eine Methode, und die Form der Prozedur ist dieselbe.
// Edit: Code aufs Wesentliche beschränkt.