Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

ShowMessage i MessageDlg

[es] :: Pascal / Delphi / Kylix :: ShowMessage i MessageDlg

[ Pregleda: 2810 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

FranjoZG
Franjo Popović
Programer
Zagreb

Član broj: 328819
Poruke: 298
*.dsl.iskon.hr.



+4 Profil

icon ShowMessage i MessageDlg18.05.2015. u 00:05 - pre 107 meseci
radi se o delphi XE 7
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;
  ...


linija:
ShowMessage('Baza nije određena' + #13 + 'Rad nije moguć');
se ne prikazuje a pređe preko nje!!!

Ideja zašto?
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: ShowMessage i MessageDlg18.05.2015. u 00:56 - pre 107 meseci
> ShowMessage('Baza nije određena' + #13 + 'Rad nije moguć');
> se ne prikazuje a pređe preko nje!!!
> Ideja zašto?

Ako je VCL aplikacija, da li imas glavnu formu kreiranu? Ako da onda bi se morala videti, ukljuci debugDcu i udji u ShowMessage pa vidi gde je zastoj.
 
Odgovor na temu

FranjoZG
Franjo Popović
Programer
Zagreb

Član broj: 328819
Poruke: 298
*.adsl.net.t-com.hr.



+4 Profil

icon Re: ShowMessage i MessageDlg18.05.2015. u 08:22 - pre 107 meseci
Moja greška... recimo...

1. Ostavio sam TFDConnection "Open" u design modu
2. u BeforeConnect sam pozvao proc. "OtvoriDB"
3. u OnShow main forme sam pozvao proc. "OtvoriDB"

Ispravak:
1. u design modu sam stavio TDBVConnect na "Close"
2. maknuo sam poziv procedure iz BeforeConnect

Sada radi ispravno. Svejedno mi nije jasna greška - preskoči ShowMessage kao da ga je izvršio.
U debugu pratim:
frmMain.ShowMessage -> Vcl.Dialogs.ShowMessage -> Vcl.Dialogs.ShowMessagePos = prikaz poruke

procedura koja se poziva iz Vcl.Dialogs.ShowMessagePos se ne izvrši i debuger deaktivira brekpoint kao da se ne koristi u programu.
-> Vcl.Dialogs.MessageDlgPos

O čemu se radi? Bug?

 
Odgovor na temu

Milan Milosevic

Član broj: 67
Poruke: 932
*.dynamic.isp.telekom.rs.



+31 Profil

icon Re: ShowMessage i MessageDlg18.05.2015. u 10:16 - pre 107 meseci
Meni se desavalo da nece da prikaze poruku u ShowMessage slicno kao kod tebe kad se istrosi stack memorija

Code:

implementation

{$R *.dfm}

{$MAXSTACKSIZE 1073741824}


procedure TForm2.Button1Click(Sender: TObject);
begin
 ShowMessage('Prikazi me');
end;



 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: ShowMessage i MessageDlg18.05.2015. u 10:30 - pre 107 meseci
> 1. Ostavio sam TFDConnection "Open" u design modu
> 2. u BeforeConnect sam pozvao proc. "OtvoriDB"
> 3. u OnShow main forme sam pozvao proc. "OtvoriDB"

> Ispravak:
> 1. u design modu sam stavio TDBVConnect na "Close"
> 2. maknuo sam poziv procedure iz BeforeConnect

Deluje da u prvom slucaju ti jos nije bila glavna forma kreirana a u drugom jeste. U takvom slucaju mozes direktno raditi sa WinApi MessageBox i tu neces imati nikakvih problema sa prikazom.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: ShowMessage i MessageDlg

[ Pregleda: 2810 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.