Glowne okno programu nie pojawia sie.

0

Napisalem program. U mnie wszystko chodzi dobrze pod XP. zero bledow. Ale u niektorych osob (mysle ze kilka procent), rowniez pod XP nie pojawia sie glowne okno programu. Blizej moze sprecyzuje problem fragment mojej rozmowy z uzytkownikiem :
pokazuje mi sie tylko ikonka na pasku startu a nie uruchamia mi sie glowne okno programu
[21:47:53] jaki masz system?
[21:48:02] ~aaaaa indows XP
[21:48:17] w trayu?
[21:48:20] czyli tam kolo zegara
[21:48:24] ~aaaaa tak
[21:48:27] ~aaaaa pokazuje mi sie tam
[21:48:28] klikales w nia?
[21:48:32] ~aaaaa tak
[21:48:36] prawym klawiszem
[21:48:37] tez probowales?
[21:48:50] ~aaaaa tak
[21:48:54] i nic?
[21:48:57] ~aaaaa nic
[21:48:58] nie pokazuje sie przywroc/zamknij?
[21:49:04] ~aaaaa pokazuje
[21:49:11] wybierasz przywroc
[21:49:13] i co wtedy?
[21:49:18] ~aaaaa ale gdy klikam przywroc i nic sie nie dzieje
[21:49:27] a Od razu po uruchomieniu programu
[21:49:32] nie pokazuje Ci sie okno
[21:49:32] ~aaaaa tez nie
[21:49:34] nawet na chwile?
[21:49:38] ~aaaaa nie
[21:49:42] nigdy nie udalo Ci sie
[21:49:46] ~aaaaa nie
[21:49:46] aby okno Ci sie pokazalo?
[21:49:54] ~aaaaa nie
[21:49:57] mam rozumiec ze w ogole nie widziales okna glownego, tak?
[21:50:02] ~aaaaa tak
[21:50:11] czy masz uruchomione jakies programy
[21:50:14] atyvirusy
[21:50:18] i inne
[21:50:21] ktore moga blokowac
[21:50:36] ?
[21:50:49] ~aaaaa nie
[21:51:13] moze masz jakies nakladki na pulpit desktopx nie wiem
[21:51:16] jakies udziwnienia?
[21:51:37] ~aaaaa nie

teraz fragmenty kodu do obslugi traya :

procedure TForm1.WndProc(var Msg : TMessage);
var
  p : TPoint;
begin
  if (Msg.Msg=WM_USER+1)and(Msg.lParam=WM_LBUTTONDOWN) then begin
    ShowWindow(Form1.Handle, SW_SHOW);
    SetForeGroundWindow(Form1.Handle);
  end;
  if (Msg.Msg=WM_USER+1)and(Msg.lParam=WM_RBUTTONDOWN) then begin
     GetCursorPos(p);
     PopupMenu1.Popup(p.x, p.y);
  end;
inherited;
end;

i to w popupie na "przywroc"
procedure TForm1.ShowMainForm1Click(Sender: TObject);
begin
  ShowWindow(Form1.Handle, SW_SHOW);
  SetForeGroundWindow(Form1.Handle);
end;

Czyli nic szczegolnego. Sam standarcik.
Dodam jeszcze ze na glownym oknie mam kilka komponentow imageplus oraz jeden duzy image ktory robi jako tlo (GUI). oprocz tego jakies memo, edit, checkboxy.
Ktos moze ma jakis pomysl czemu tak sie dzieje?

0

nie wiem od czego to zależy, ale też tak mam czasami. Z reguły wystarcza restart windowsa ;p

0

Niestety tym osobom nie wystarczal reset windowsa!! Moze ktos ma przynajmniej jakies przepuszczenia? kazda informacja jest dla mnie bardzo cenna, naprawde.

0

może choć wątpię jakiś konflikt z komunikatem WM_USER+1 , daj + i inną liczbę, ja do każdego mojego programiku strzelam inną liczbę, a może też okienko się pokazuje tylko pokazuje się tak gdzie je "zaprojektowałeś" a robiłeś na rozdzielczości jakiejś wysokiej a on ma niską i ma formę za ekranem

// do postu poniżej: :]

// spróbuj też zamiast:

ShowWindow(Form1.Handle, SW_SHOW);

dać tylko:

Show;
0

Może, na innych kompach jest ustawiona inna rozdzielczosc ekranu, i Twojego programiku nie widac? :P

0

Dzieki Panowie. Rzeczywiscie chodzilo o rozdzielczosc ekranu. Ze ja na to nie wpadlem. Ja u siebie mam ustawione 1024x768 i okno pojawialo mi sie na dole ekranu. Kiedy uzytkownik mial 800x600 to pojawialo mu sie juz poza ekranem :) Poprawilem i wszystko juz chodzi ok ;>
Naprawde Panowie jestescie wielcy dzieki za pomoc, znow sie potwierdzilo, ze co kilka glow to nie jedna :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0