Błąd "XXX is not declared" podczas modyfikowania formularza

0

Hej mam kilka pytan.

  1. Zrobilem sobie kilka roznych formow.
    Form2. jest moim formem dla panelu opcji. mam tam kilka buttonow, ktorymi ustawiam rozmiar Formu3.
    np gdy wcisne button 320x480, to Form3 przystosowuje sie do tych rozmiarow.

Na formie 3 zrobilem sobie kszatl Shape o nazwie Plansza.
Chce go takze zmodyfikowac... ale nie dziala. Pisze ze "Plansza is not declared"
co mam zrobic?

procedura wyglada tak:

procedure TForm2.P_rozmiar1Click(Sender: TObject);
var
    powiekszenie: integer;
begin
    powiekszenie:= 4;

    Form3.Height:= 320 + powiekszenie;
    Form3.Width:=480 + powiekszenie;

    Plansza.Height:= 320;
    Plansza.Width:= 480; 

end; 

przy
Plansza.Height:= 320;
Plansza.Width:= 480;
wywala.

co tutaj mozna zrobic?

  1. Podobna sytuacja. jak zadeklarowac zmienne GLOBALNE, ktore beda dostepne zarowno w unitach 1,2,3?
0

Form3.Plansza.Width = 480 ????

0

Co do zmiennych globalnych polecę swoj sposob:
Tworzysz z menu -> file -> delphi files -> DataModule

Ładujesz tam komponenty niewizualne, funkcje, zmienne ktore pozniej wykorzystasz w poszczegolnych formach.
Przenigdy sie nie powinno usesować innych form !!

0

ok dzięki, problem rozwiazany.
ale mam nowy

Form1.Image1.Picture.LoadFromFile (sciezka);

chce, wyswietlic obrazek typu png albo tiff, którego tło jest prezezroczyste.
da się cos takiego zrobic? jak?

0

Form1.Image1.Transparent:=true;

0

tak tez zrobilem, ale to nie dziala

0

Ja sprawdziłem teraz i działa, ale ja używam Delphi 7 i tam nie ma możliwości standardowo obsługiwać obrazy PNG w TImage. Trzeba się posiłkować modułem pngimage wraz z wymaganymi przez ten moduł plikami. Bo o ile się dobrze orientuje nowsze wersje Delphi obslugują PNG w Timage bez kombinowania raczej. Wiem, że jest przynajmniej ImageList, który chyba potrafi przechowywać PNG.

0

a czy istenieje jakis inny sposob wczytania obrazka z przezroczystym tlem do Image'u i wyswietlenie go?
nie koniecznie formaty png, tiff, moga byc inne

probowalem za pomoca BMP. zrobilem kanal alfa, zapisalem jako ARGB. ale nadal nie dziala

Jeszcze mam kolejne pytanie..

Mam na formie kilka buttonow, memo, jeden panel oraz Paintboxa.
Po wcisnieciu jednego z buttonow, na paintboxie ropozczyna mi sie rysowanie lini. zrobione to jest na timerze, gdyz chce widziec jak przebiega caly proces.
w przypadku wcisniecia ktorejs ze strzalki chce zmienic kierunek rysowania lini.

no ale to nie dziala...

moja procedura wyglada nastepujaco:

procedure TForm3.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin

      if (Key = 13) then begin
      Form3.Memo1.Text:= Inttostr(Key);
      dy := -1; dx := 0;
      end;

      if (Key = 83) then begin
      dy := 1; dx := 0;
      end;

      if (Key = 65) then begin
      dx := -1; dy := 0;
      end;

      if (Key = 68) then begin
      dx := 1; dy := 0;
      end;

end;

gdy wciskam strzalki, to zaznaczaja mi sie kolejne buttony albo kursor wchodzi do memo.
jak temu zapobiec? i ustawic, aby strzalki dzialaly tylko na Paintboxie?

dzieki

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