s s
2007-07-25 20:39:44 UTC
Napisałem program na pewną linię produkcyjną, który ma na formatce panel
(TPanel) (zmianą koloru sygnalizuje stany programu).
W odpowiednich miejscach programu zmianiam kolor i po tym ludzie wiedzą "o co
chodzi" w danej chwili.
Skrupulatnie klikałem na swoim kompie algorytmy, wszystko mi działało.
Działało na służbowym kompie, laptopie, na swoim domowym i na wszystkich
innych komputerach.
Nie działa tylko na tym docelowym.
W domu nawet zasymulowałem identyczną instalację jak na kompie docelowym.
Komp to jakiś Dell z Celeronem 1,7 GHz, WXP + SP2 + poprawki, zainstalowany
BDE oraz OpenOffice.
Soft napisany w TDP 2006 (legalnym oczywiście).
Procedury zmiany koloru wyglądaja następująco:
[code]
procedure TForm1.Panels_Red();
begin
Panel1.Color:= clRed;
end;
[/code]
[code]
procedure TForm1.Panels_Green();
begin
Panel1.Color:= clLime;
end;
[/code]
No i nie działa ...
Dodałem na główną formę komponent ListBox, przepisałem procedury jak poniżej:
[code]
procedure TForm1.Panels_Red();
begin
Panel1.Color:= clRed;
ListBox1.Items.Add('Zmiana na czerwony, wywołanie z PanelRed');
end;
[/code]
[code]
procedure TForm1.Panels_Green();
begin
Panel1.Color:= clLime;
ListBox1.Items.Add('Zmiana na zielony, wywołanie z PanelGreen');
end;
[/code]
Dalej nie działa ..., ale do listbox dopisywane sa komunikaty z wnętrza
procedury, czyli procedura się wykonuje.
Wreszcie napisałem malutką wprawkę, która zmienia kolor tylko na pustej
formatce.
Kod mniej więcej taki:
[code]procedure TForm1.RadioButton2Click(Sender: TObject);
begin
Panel1.Color:= clBlue;
end;
procedure TForm1.RadioButton3Click(Sender: TObject);
begin
Panel1.Color:= clYellow;
end;
[/code]
He, działa!
No więc w swoim sofcie zmieniam ręcznie kolor panelu na clLime, aby domyślnie
po uruchomieniu był zielony.
Uruchamiam na docelowym kompie i .... nie działa !
Kolor panelu szary!
Nie poddaję sie, dopisuję do procedury kolejny kod:
[code]
procedure TForm1.Panels_Red();
begin
Panel1.Color:= clRed;
Panel1.Caption:= 'CZERWONY';
ListBox1.Items.Add('Zmiana na czerwony, wywołanie z PanelRed');
end;
[/code]
[code]
procedure TForm1.Panels_Green();
begin
Panel1.Color:= clLime;
Panel1.Caption:= 'ZIELONY';
ListBox1.Items.Add('Zmiana na zielony, wywołanie z PanelGreen');
end;
[/code]
He, działa, ale tylko w połowie!
Zmienia Caption na panelu, do listboksa dodaje mi ładnie wpisy, a kolor się
nie zmiania!
Co jest do ch...ry?
Zgłupiałem!
Może ktoś coś mądrego wymyśli?
(TPanel) (zmianą koloru sygnalizuje stany programu).
W odpowiednich miejscach programu zmianiam kolor i po tym ludzie wiedzą "o co
chodzi" w danej chwili.
Skrupulatnie klikałem na swoim kompie algorytmy, wszystko mi działało.
Działało na służbowym kompie, laptopie, na swoim domowym i na wszystkich
innych komputerach.
Nie działa tylko na tym docelowym.
W domu nawet zasymulowałem identyczną instalację jak na kompie docelowym.
Komp to jakiś Dell z Celeronem 1,7 GHz, WXP + SP2 + poprawki, zainstalowany
BDE oraz OpenOffice.
Soft napisany w TDP 2006 (legalnym oczywiście).
Procedury zmiany koloru wyglądaja następująco:
[code]
procedure TForm1.Panels_Red();
begin
Panel1.Color:= clRed;
end;
[/code]
[code]
procedure TForm1.Panels_Green();
begin
Panel1.Color:= clLime;
end;
[/code]
No i nie działa ...
Dodałem na główną formę komponent ListBox, przepisałem procedury jak poniżej:
[code]
procedure TForm1.Panels_Red();
begin
Panel1.Color:= clRed;
ListBox1.Items.Add('Zmiana na czerwony, wywołanie z PanelRed');
end;
[/code]
[code]
procedure TForm1.Panels_Green();
begin
Panel1.Color:= clLime;
ListBox1.Items.Add('Zmiana na zielony, wywołanie z PanelGreen');
end;
[/code]
Dalej nie działa ..., ale do listbox dopisywane sa komunikaty z wnętrza
procedury, czyli procedura się wykonuje.
Wreszcie napisałem malutką wprawkę, która zmienia kolor tylko na pustej
formatce.
Kod mniej więcej taki:
[code]procedure TForm1.RadioButton2Click(Sender: TObject);
begin
Panel1.Color:= clBlue;
end;
procedure TForm1.RadioButton3Click(Sender: TObject);
begin
Panel1.Color:= clYellow;
end;
[/code]
He, działa!
No więc w swoim sofcie zmieniam ręcznie kolor panelu na clLime, aby domyślnie
po uruchomieniu był zielony.
Uruchamiam na docelowym kompie i .... nie działa !
Kolor panelu szary!
Nie poddaję sie, dopisuję do procedury kolejny kod:
[code]
procedure TForm1.Panels_Red();
begin
Panel1.Color:= clRed;
Panel1.Caption:= 'CZERWONY';
ListBox1.Items.Add('Zmiana na czerwony, wywołanie z PanelRed');
end;
[/code]
[code]
procedure TForm1.Panels_Green();
begin
Panel1.Color:= clLime;
Panel1.Caption:= 'ZIELONY';
ListBox1.Items.Add('Zmiana na zielony, wywołanie z PanelGreen');
end;
[/code]
He, działa, ale tylko w połowie!
Zmienia Caption na panelu, do listboksa dodaje mi ładnie wpisy, a kolor się
nie zmiania!
Co jest do ch...ry?
Zgłupiałem!
Może ktoś coś mądrego wymyśli?
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/