Witam
Aplikacja wygląda następująco:
program Project1;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms
{ you can add units after this }, MainForm, LResources, SQLDBLaz,
MKontrahenci, MOknoLogowania;
{$IFDEF WINDOWS}{$R project1.rc}{$ENDIF}
begin
Application.Initialize;
Application.CreateForm(TPoleLogowania, PoleLogowania);
//Application.CreateForm(TPanelGlowny, PanelGlowny);
Application.CreateForm(TKontrahenci, Kontrahenci);
Application.Run;
end.
W "OknoLogowania" znajduje się przycisk, który ma formularz stworzyć dynamicznie:
procedure TPoleLogowania.OKLogowanieClick(Sender: TObject);
begin
if PanelGlowny.SQLConnect.Connected then PanelGlowny.SQLConnect.Close;
// Set the connection parameters.
With PanelGlowny do
begin
SQLConnect.Transaction := SQLTransaction;
SQLConnect.DatabaseName := 'spasystem';
SQLConnect.UserName := PoleLogowania.Login.Text;
SQLConnect.Password := PoleLogowania.Haslo.Text;
SQLConnect.HostName := '127.0.0.1';
end;
if not Assigned(PanelGlowny)then PanelGlowny:=TPanelGlowny.Create(Application);
PanelGlowny.Show;
i w tym momencie - ZONK. Wywala Access violation. Nie wiem, o co mu chodzi, bo przecież to książkowy przykład tworzenia formularza dynamicznie. Przeszukałem sieć w poszukiwaniu wyjaśnienia i nic nie znalazłem.
Czy któryś z Kolegów potrafi wyjaśnić, dlaczego problem występuje ?