![]() |
Scrollbox: Drei komponenten zur laufzeit hinzufügen ?
Hallo,
ich möchte aus einer Text Datei drei Komponenten zur laufzeit hinzufügen die Datei sieht so aus: Zitat:
Delphi-Quellcode:
Der Fehler ist folgender jetzt:
procedure TForm2.LoadInfo;
var Daten:TStringList; i:Integer; bf:TBevel; hl,hl2:TJvHotLink; hp,email:String; begin Daten:=TStringList.Create; Daten.LoadFromFile(GetExeDir + 'infoList.txt'); for i:=0 to Daten.Count-1 do begin hl:=TJvHotLink.Create(Form2); // HP hl.Parent:=ScrollBox1; hl.Caption:='Hompage von: ' + GetToken(Daten.Strings[i],',',1); hl.Url:=GetToken(Daten.Strings[i],',',3); hl.AutoSize:=False; hl.Left:=5; hl.Top:=5+(i*13); hl.Width:=253; hl.Height:=13; hl.Visible:=True; hl2:=TJvHotLink.Create(Form2); // E-Mail hl2.Parent:=ScrollBox1; hl2.AutoSize:=False; hl2.Caption:='E-Mail von: '+ GetToken(Daten.Strings[i],',',1); hl2.Url:=GetToken(Daten.Strings[i],',',2); hl2.Left:=5; hl2.Top:=hl.Top+15; hl2.Width:=253; hl2.Height:=13; hl2.Visible:=True; bf:=TBevel.Create(Form2); bf.Parent:=ScrollBox1; bf.Left:=5; bf.Top:=hl2.Top+15; bf.Width:=253; bf.Height:=9; bf.Shape:=bsTopLine; bf.Visible:=true; ShowmEssage(Daten.Strings[i]); // FreeAndNil(hl2); FreeAndNil(hl); FreeAndNil(bf); end; end; es sollen drei komponenten(bf:TBevel; hl,hl2:TJvHotLink) hinzugeüfgt werden. und dies 2 mal das heißt bei zwei einträgen in der Textdatei müste ich 6 komponenten haben das habe ich nicht, ich habe nur 5 weil beim ersten durchgang wird aus irgeneinen grund die e-mail komponente nicht hinzugefügt. das sieht dann so aus: Zitat:
Zitat:
|
Re: Scrollbox: Drei komponenten zur laufzeit hinzufügen ?
Liste der Anhänge anzeigen (Anzahl: 1)
Moin,
ich habe keine Ahnung was da nicht geht. Allerdings ist mir das so auch viel zu unübersichtlich programmiert und nicht leicht erweiterbar. Du solltest dir mal Frames ansehen, damit kann man soetwas viel eleganter lösen. Ich habe mal ein Beispiel angehängt, hoffe es hilft dir... MfG Thorsten |
Re: Scrollbox: Drei komponenten zur laufzeit hinzufügen ?
Vielen dank, werde ich mir mal ansheen.
Ich hatte mit Frams erst einmal was versucht und das ging nicht, weil die ereignise nicht ausgelöst wurden abwohl sie zugewiesen waren ! |
Re: Scrollbox: Drei komponenten zur laufzeit hinzufügen ?
vielen Dank.
ich habe das beispiel angepasst und es geht so wie ich es haben möchte *FREU**FREU* |
Re: Scrollbox: Drei komponenten zur laufzeit hinzufügen ?
Geht leider doch nicht so wie ich es mir vorgestellt hatte: wie bei meinem ersten verusch: ereignisse werden nicht ausgeführt :(
ich habe ein label und zwei TJvHotLink genommen und es wird nichts gestartet obwohl es in einem normalen formual funtkioniert... woran lieg das ? |
Re: Scrollbox: Drei komponenten zur laufzeit hinzufügen ?
Liste der Anhänge anzeigen (Anzahl: 1)
Habe nochmal ein Beispiel angehängt (mit Ereignis)
Dieses Problem, mit den Ereignissen, hatte ich auch schon öfter. Meine Vorgehensweise ist dann immer folgende: In dem Formular, indem der Frame eingebunden wird klickst du auf z.B. einen Button, dann wird die Ereignisprozedur angelegt. Dort steht dann inherited... drin. Diese Deklaration der Ereignisse ist natürlich sehr unschön. Deshalb löscht du dann einfach wieder die inherited-Zeile. Dann sollte wieder die Ereignisroutine im Frame benutzt werden. Und das ist dann das was du ja eigentlich haben möchtest. Warum das manchmal passiert weiss ich leider nicht. MfG Thorsten |
Re: Scrollbox: Drei komponenten zur laufzeit hinzufügen ?
ich habe herrausgefunden, wenn ich bei den frams das ereignis fokuscontrol zuweise geht zwar die ereignise aber die besagte komponenten geht immer noch nicht.
Das was im Beispiel gezeigt wurde habe ich auch hinbekomme, aber die komponenten von den JVCL die auf ein TForm funktioniert und bei einem Fram nicht. geht immer noch nicht...evtl. weiß ja ein andre eine lösung. aber vielen dank mit dem TIP Frame... nur schade das es einen hacken hat. evlt geht es auch auf meine weise, wenn mir da nochmal jeammd ein tip geben kann... |
Re: Scrollbox: Drei komponenten zur laufzeit hinzufügen ?
weiß keiner eine lösung ?
ich möchte "einfach nur" 4 komponenten nacheinander erzeugen und das in einer forschleife..... was mache ich in den oben gezeigten code falsch ??? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:16 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 by Thomas Breitkreuz