| Autor |
Beitrag |
huhn
      
Beiträge: 272
Erhaltene Danke: 1
WIN XP
D7Pers
|
Verfasst: Di 06.12.05 15:44
hi!
hab folgendes problem, also ich hab eine programm bei dem ich im oncreate-ereigniss eine ini-file mit variablen auslese und diese dann auf einer anderen form die zum programm hinzu gehört zu setzen. leider geht dies nicht da, die anderen formen noch gar nicht erstellt sind .
Meine frage ist wie ein ereignis aussieht das direkt nach oncreate ausgelöst wird oder wie ich es sonst noch machen kann( biiitttte ohne onpaint^^).
mfg huhn
_________________ Quod Erat Demonstrandum-Was zu beweisen war! *THX to Chrissivo!*
|
|
frank-wob
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 06.12.05 15:55
Die Werte des IniFiles in Variablen lesen und diese in onCreate des Forms abfragen in dem du sie brauchst.
|
|
huhn 
      
Beiträge: 272
Erhaltene Danke: 1
WIN XP
D7Pers
|
Verfasst: Di 06.12.05 16:07
au ne gute idee^^
hab noch was anderes gefunden:
1.Im Projekt:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| program Project2;
uses Forms, Unit1 in 'Unit1.pas' , Unit2 in 'Unit2.pas' , Unit3 in 'Unit3.pas' , Unit4 in 'Unit4.pas' , Unit5 in 'Unit5.pas' ;
{$R *.res}
begin Application.Initialize; Application.Title := 'Blablabla'; Application.CreateForm(TForm1, Form1); Application.CreateForm(TForm2, Form2); Application.CreateForm(TForm3, Form3); Application.CreateForm(TForm4, Form4); Application.CreateForm(TForm5, form5); Jamaica.aftercreate; Application.Run; end. |
und dann in form1:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm) ... procedure aftercreate; .... .... procedure aftercreate; begin end;
end. |
Das funktioniert, zumindestens bei mir. Was sagt ihr dazu? ich weiß net ob des programiermäßig so sauber ist aber würde trotzdem gerne eure meinung hören ansonsten mach ichs wie frank-wob gesagt hat
mfg huhn
_________________ Quod Erat Demonstrandum-Was zu beweisen war! *THX to Chrissivo!*
|
|
frank-wob
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 06.12.05 16:09
Ich finde das daran ist nichts auszusetzen, solange es funktioniert.
|
|
frank-wob
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 06.12.05 16:12
Du könntest dir aber auch mal die JEDI Komponenten ansehen. Da gibt es im Register JV Persistence interessante Komponenten.
|
|
huhn 
      
Beiträge: 272
Erhaltene Danke: 1
WIN XP
D7Pers
|
Verfasst: Di 06.12.05 16:21
also wenn das was ich denke was du gemeint hast dann ist das ein teil der die variablen in die regestry schreib? das find ich nicht so gut, ich denke ich belasse es auf der methode wie ichs im moment habe.
und da ichs so schön gemacht habe, hat die nachwelt au no was davon^^
würde mich trotzdem noch über kritik an meiner methode freuen( ok nicht wirklich aber egal xD)
mfg huhn
_________________ Quod Erat Demonstrandum-Was zu beweisen war! *THX to Chrissivo!*
|
|
frank-wob
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 06.12.05 16:27
Nein, hat mit Registry nichts zu tun. Du kannst damit recht einfach mit einer Komponente Formularübergreifend in eine *.ini
schreiben und lesen.
Aber wie gesagt solange es funktioniert ist an deiner Methode ja auch nichts auszusetzen. Ich benutze es wenn ich sehr viele Werte in einer Ini sicher will.
|
|
huhn 
      
Beiträge: 272
Erhaltene Danke: 1
WIN XP
D7Pers
|
Verfasst: Di 06.12.05 16:44
Ok dann markier ich mal die frage als gelöst.
Ach könntest du vielleicht mir noch schreiben wie des ganz genau heißt?
irgendwie find ich des net^^
mfg huhn
_________________ Quod Erat Demonstrandum-Was zu beweisen war! *THX to Chrissivo!*
|
|
arcardia
      
Beiträge: 48
|
Verfasst: Mi 07.12.05 09:33
Am einfachsten ist es das ganze
aus FormCreate in FormShow zu packen
dort sind alle anderen Formen verfügbar
wenn deine Form allerdings minimiert / maxmiert wird
so musste das laden der Ini in FormShow unterbinden
in etwa so
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| Var FirstShow: Boolean = True; ... procedure TForm1.FormShow(Sender: TObject); begin If FirstShow then Begin FirstShow:=False; end; end; |
Moderiert von raziel: Code- durch Delphi-Tags ersetzt
|
|
huhn 
      
Beiträge: 272
Erhaltene Danke: 1
WIN XP
D7Pers
|
Verfasst: Do 08.12.05 22:24
find ich zu kompliziert
zudem find ich es eine nützliche ergänzung "aftercreate",
aber trotzdem danke für deinen vorschlag wäre net draufgekommen onshow zu benützen^^
man könnte dann genauso gut onpaint nehmen und dort es auch unterdrücken
mfg huhn
_________________ Quod Erat Demonstrandum-Was zu beweisen war! *THX to Chrissivo!*
|
|
Blackheart666
      
Beiträge: 2195
XP
D3Prof, D6Pers.
|
Verfasst: Do 08.12.05 22:43
Du schreibst doch selber das Du versuchst Daten auzulesen die Du noch garnicht benötigst, warum rufst Du die Daten nicht erst dann ab wenn sie auch gebraucht werden ?
Und außerdem Denke Ich das, das hier ziehmlich auf Verarsche rausläuft.
|
|
huhn 
      
Beiträge: 272
Erhaltene Danke: 1
WIN XP
D7Pers
|
Verfasst: Fr 09.12.05 16:37
Sorry aber verarsche ist das hier nicht!
Das ist ein ernstes thema! Und zudem is die frage geklärt und als auch solches markiert.
Ich möchte jetzt nicht genauer auf mein (gelöstes) problem eingehen aber es ist nun mal so das ich eben unmittelbar nach dem erstellen der formen variablen brauche( mein form enthält zb die indy-http und anderes).
Wie gesagt habe ich nichts an den anderen methoden auszusetzen und ffinde es gut wenn ihr sie postet, so das neues hinzukommt und andere selber entscheiden können wie sie es machen wollen.
Abschließend will ich mich noch mal bei allen die mir geholfen und ideen und lösungen gepostet haben bedanken.
mfg huhn
_________________ Quod Erat Demonstrandum-Was zu beweisen war! *THX to Chrissivo!*
|
|