Imam problem u proceduri s kojim se do sada nisam sreo:
ne prikazuje ShowMessage.
Procedura je u datamudulu, a pozivam je iz main forme u eventu OnShow:
Code:
procedure Tdm.OtvoriDB;
var
ti: tMyInit;
dbName: string;
Odg: integer;
begin
ti := tMyInit.Create;
dbName := ti.Read('DATABASE', 'NAME', '');
ti.Free;
Odg := mrCancel;
if dbName = '' then
begin
Odg := MessageDlg('Nije određena radna baza' + ''#13'' + 'Odrediti radnu bazu?' + ''#13'' + ''#13'' + '(bez određene baze rad nije moguć)', mtConfirmation, [mbYes, mbNo], 0);
if Odg = mrYes then
begin
fmParametri := TfmParametri.Create(nil);
fmParametri.ShowModal;
fmParametri.Free;
ti := tMyInit.Create;
dbName := ti.Read('DATABASE', 'NAME', '');
ti.Free;
if dbName = '' then begin
ShowMessage('Baza nije određena' + #13 + 'Rad nije moguć');
Application.Terminate;
exit;
end;
end
else
Application.Terminate;
exit;
end
else
begin
try
fdc.Params.Database := dbName;
except
ShowMessage('Pogreška pri otvaranju radne baze:' + #13 + dbName);
OtvoriDB;
end;
end;
...
procedure Tdm.OtvoriDB;
var
ti: tMyInit;
dbName: string;
Odg: integer;
begin
ti := tMyInit.Create;
dbName := ti.Read('DATABASE', 'NAME', '');
ti.Free;
Odg := mrCancel;
if dbName = '' then
begin
Odg := MessageDlg('Nije određena radna baza' + ''#13'' + 'Odrediti radnu bazu?' + ''#13'' + ''#13'' + '(bez određene baze rad nije moguć)', mtConfirmation, [mbYes, mbNo], 0);
if Odg = mrYes then
begin
fmParametri := TfmParametri.Create(nil);
fmParametri.ShowModal;
fmParametri.Free;
ti := tMyInit.Create;
dbName := ti.Read('DATABASE', 'NAME', '');
ti.Free;
if dbName = '' then begin
ShowMessage('Baza nije određena' + #13 + 'Rad nije moguć');
Application.Terminate;
exit;
end;
end
else
Application.Terminate;
exit;
end
else
begin
try
fdc.Params.Database := dbName;
except
ShowMessage('Pogreška pri otvaranju radne baze:' + #13 + dbName);
OtvoriDB;
end;
end;
...
linija:
ShowMessage('Baza nije određena' + #13 + 'Rad nije moguć');
se ne prikazuje a pređe preko nje!!!
Ideja zašto?