Delphi und neues Formular

Hallo,
ich hab da so ein Problem.
Ich hab ein Haupt-Formular und möchte ein anderes Nebenformular öffnen.
Nun sagt der mir aber es seien schon Komponenten mit diesem Namen vorhanden sind. In dem Hauptformular sind nach meinen Forschungen keine Komponenten mit diesem Namen. Bin verzweifelt…

hier nochmal der aufruf-code:

procedure TMainForm.BProgrammEinfuegenClick(Sender: TObject);
var formcreate:TImportForm;
begin
formcreate:=ImportForm.Create(Self);
formcreate.Show;
end;

Danke für jede Hilfe!

Hallo, probier mal das:

formcreate := TImportForm.Create(Self);
formcreate.Show;

bzw, wenn du es Modal anzeigen willst:
formcreate := TImportForm.Create(Self);
formcreate.Showmodal;
formcreate.free;

Wichtig ist, dass Du Klasse.Konstruktor von dem zu kreierenden Objekt angibst, nicht das Objekt zu dieser Klasse. Also TImportForm.create anstatt ImportForm.create. die Meldung lässt aber darauf schließen, dass es die Form wirklich schon gibt. Schau mal in den Projektoptionen, unter Formulare. Da gibt es eine Liste mit Formularen, die automatisch Erzeugt werden. Da sollte nur das Hauptformular drinnen stehen, außer es handelt sich um eine berechtigte Ausnahme.

Sieht etwa so aus, je nach Delphi-Version:
http://mseegernet.de/Delphi/ZEOS/EasyQuery_Projektop…

Gruß Jan

Warum fragst Du nicht im Forum? Die Erfolgsquote dürfte höher sein! Ich bin da derzeit nicht mehr so tief in der Materie.

Auf den ersten Blick hätte ich statt:
„formcreate:=ImportForm.Create(Self);“
ein
„formcreate:=TImportForm.Create(Self);“
erwartet.

„FormCreate“ is vorsichtig ausgedrückt auch ein mehrdeutiger Name. Denk dir doch mal einen Namen aus, den es nicht im globalen Kontext jeder TForm geben kann!

Denkbar ist auch, daß das Formular zur Entwicklungs- oder Laufzeit schon instanziiert wurde. Das kann man aber aus solch einem kurzen Code-Schnipsel unmöglich nicht erkennen.

Hi,

tut mir Leid das ich erst jetzt antworte, aber ich war im Urlaub.

procedure TMainForm.BProgrammEinfuegenClick(Sender: TObject);
var formcreate:TImportForm;
begin
formcreate:=ImportForm.Create(Self);
formcreate.Show;
end;

Du hast da ein T vergessen:
formcreate:= TImportForm.Create(Self);

Viel Erfolg!