Pegii napisał(a)
Skoro nie chodzi o wersje kompilatore to czemu twój ustawia domyślnie pozycję na poDesigned, a mojemu trzeba to wpisać ?
A sprawdzałeś jaka jest wartość domyślna dla właściwości Position
np. takim kodem? :
var
frmNew: TForm;
begin
frmNew := TForm.Create(Self);
try
if frmNew.Position = poDesigned then
Application.MessageBox('Designed!', 'Position', MB_ICONINFORMATION);
finally
frmNew.Free();
end;
bo u mnie MessageBox
się wyświetla zawsze; Stąd można wywnioskować, że domyślną wartością właściwości jest właśnie ta wyżej wymieniona;
Pegii napisał(a)
Nie do końca zrozumiałem twoją wypowiedź o dziedziczeniu:
Dobrze napisałem, Ty tworzysz formularz bazując na klasie TForm
, a nie na TMainForm
, stąd dziedziczysz wszystkio co jest w klasie TForm
, a nie w TMainForm
;
Pegii napisał(a)
Czy chodzi ci o usunięcie go z Application.CreateForm(TForm, Form);
?
Dokładnie tak; Jeśli chcesz ręcznie tworzyć formularz podczas działania aplikacji, a nie automatycznie podczas jej startu to nie może być instrukcji tworzącej w pliku *.dpr
:
Application.CreateForm(TForm1, Form1);
gdzie Form1
to okienko, które chcesz tworzyć dynamicznie; Możesz je usunąć z listy w opcjach projektu (zakładka Forms i lista Auto-create forms);
Poza tym dobrze pisze @adf88 - moja wersja Delphi to BD7, a w załączniku masz działający kod programu (testowany na kilku komputerach z różnymi systemami);