![]() |
Re: text-string aus 2. klasse aufrufen
Liste der Anhänge anzeigen (Anzahl: 1)
der shortcutarray ist vielleicht von der bezeichnung her nicht treffend gewählt.
man übergibt der funktion den gewünschten wert (bspw. 1 und der rest wir halt ausgegeben) unitlog.log(unitlog.getMemo,unitlog.getdiag,1, clblack); das ist aber nicht das problem. der fehler kommt bei der memoeigenschaft color. |
Re: text-string aus 2. klasse aufrufen
Der Fehler deutet darauf hin, dass tsbboxsender nicht instanziert ist.
Machs, wie ich es dir vorgeschlagen hat, und du wirst die Probleme nicht mehr haben. In deinem Code geht einfach nicht klar hervor, wann du auf welche memo Komponente zugreifst. |
Re: text-string aus 2. klasse aufrufen
Zitat:
|
Re: text-string aus 2. klasse aufrufen
Zitat:
Aber natürlich müsstest du den Code anpassen, damit deine Klasse auch vom OpenDialog Bescheid weiss. Würd ich ebenfalls entweder über den Konstruktor mit übergeben, oder im bestehenden Konstruktor eine eigenen TOpenDialog Instanz erzeugen. Ich tendiere zu letzterem, aber das ist wirklich Geschmackssache. Deshalb, weils jetzt wohl schneller so geht, doch erste Möglichkeit:
Delphi-Quellcode:
und die dazu gehörende Implementierung:
constructor Create (AStringList : TStrings; AOpenDialog : TOpenDialog) ; reintroduce ;
Delphi-Quellcode:
und die erweiterte Log Methode:
constructor TLoadSave.Create(AStringList: TStrings);
begin inherited Create ; assert (assigned(AStringList) and (AStringList is TStrings),'Bitte StringList Objekt im Constructor übergeben') ; assert (assigned(AOpenDialog) and (AOpenDialog is TOpenDialog),'Bitte OpenDaialog Objekt im Constructor übergeben') ; FStringList := AStringList ; FOpenDialog := AOpenDialog ; end;
Delphi-Quellcode:
Soll nun wirklich die Farbe mit in der Log Methode übergeben werden, so sollte eventuell wirklich anstatt einer TStringList ein TMemo im Konstruktor übergeben werden, und auch im restlichen Code daran angepasst werden.
procedure TLoadSave.Log(What: string);
function shortcutarray(erlaeut:LongInt):string; var count:integer; begin count:= FOpenDialog.Files.Count; case erlaeut of 1 : Result:= inttostr(count)+' Datei(en) geladen'; 2 : Result:= 'test22'; end; end; var log_dat:string; count,i:integer; begin FStringList.lines.add('['+TimeToStr(now)+'] : '+ shortcutarray((erlaeuterung))); for i:=0 to FOpenDialog.files.count -1 do begin FStringList.lines.add(' -> '+ Extractfilename(FOpenDialog.files.Strings[i])); end; end ; |
Re: text-string aus 2. klasse aufrufen
ja die farbe sollte mit übernommen werden.
muss alles in den konstruktor rein, was an die mainform übergeben wird? das ist mir ein wenig konfus. in c# gefällt mir das ein wenig besser, da hab ich nicht soviel schreibarbeit |
Re: text-string aus 2. klasse aufrufen
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz