Hab ich nur vergessen was mit Interface gemeint ist, oder hab ich das tatsächlich noch nie gehört? (Erkläre das mal bitte kurz)
So: Nun denke ich ist es langsam (*räusper*) an der Zeit mal euch das Grundgerüst zu geben:
- Es gibt "Komponentenunit", die z.Zt. LangLabel und LangEdit sind (ich wollte erstmal die Kinderkrankheiten auskurieren)
(Die Units sind von TLabel/TEdit abgeleitet)
- Es gibt eine Klasse in der die Funktion ist, die alle benötigen (sozusagen deie Übersetzungsfunktion)
- Es gibt eine Prozedur die auf alle Komponentenunits zugreifen muss
Es sind alles verschiedene "*.pas"!
Jetzt wüsste ich gerne: Was muss ich bei den Klassen dazuschreiben?
Muss ich z.B. bei LangMain das hinzufügen:
Delphi-Quellcode:
type
TLangSensObservable = class; //forward
TLangSensComp = class(TComponent) //könnte natürlich auch ein Interface sein! Würde die mehrfachvererbung möglich machen...
private
FIdent: Integer;
public
procedure RegisterToObservable(Observable: TLangSensObservable); virtual; //ruft nur RegisterObserver auf...
procedure UpdateLanguage; virtual;
procedure OnLanguageChange(NewString: string); virtual;
published
property Identifier: Integer read FIdent write FIdent;
end;
TLangSensObservable = class(TObject);
private
FObservers: TObjectList;
public
procedure RegisterObserver(Observer: TLangSensComponent);
function GetCurrentString(Ident: Integer): string; overload;
procedure SetLanguage(lang: string);
end;
// Me/ain Code
TLangMain = class(TObject);
{...}
end;
Eins möchte ich hier noch loswerden: Ich komme mit euren Antworten irgendwie leider nicht weiter
Deshalb kann es sein, dass ich schon beantwortete Fragen nochmal stelle... Sry