Hallo zusammen,
ich passe gerade ein von Hagen
hier beschriebenes modulares Programmsystem auf meine Bedürfnisse an.
Allerdings habe ich mit folgender Funktionalität Probleme:
Delphi-Quellcode:
type
TModularForm = class(TForm)
protected
function GetParam(const Name: String): Variant; virtual;
procedure SetParam(const Name: String; Data: Variant); virtual;
public
class procedure Register;
// wir erweitern nun unser gemeinsammes Basis Interface
//class function FormularName: String; virtual; abstract;
//class function MenuPath: String; virtual; abstract;
property Param[Name: String]: Variant read GetParam write SetParam; // <--- hier
end;
...
function TModularForm.GetParam(const Name: String): Variant;
begin
Result := TypInfo.GetVariantProp(Self, Name);
end;
procedure TModularForm.SetParam(const Name: String; Data: Variant);
begin
TypInfo.SetVariantProp(Self, Name, Data);
end;
Ich habe entgegen dem Beispiel noch die
Unit "TypInfo" in die uses-Klausel mit aufgenommen, da das Beispiel ohne diese nicht funktioniert.
Allerdings erhalte ich dann für die angegebene Zeile nun ein:
[Error] FormMain.pas(26): Incompatible types
Gruß Igotcha