kilka form

dział ogólny

kilka form

Nowy postprzez riddyk » wtorek, 7 października 2008, 23:37

Witam,
otóż trafił mi się taki problem:
w formie1 wykonuję pewne obliczenia i prezentuję je na image w formie2, te obliczenia są zależne od wielkości formy2, i jak zmieniam wielkość formy2, to muszę uruchomić funkcję która znajduje się na formie1.
Problem polega na tym jak do unit1 dodaje include unit2, to przeogromną ilość zmiennych deklaruje mi się 2 raz, jak to zrobić żeby, nie deklarowały mi się 2 raz zmienne w formie2?

2 problem troszkę mało istotny, to jak "pokazuję" formę2 to nie pojawia mi się na belce start, jak ustawić/wywołać aby mi się pokazała?
google to twój przyjaciel, pielęgnuj tą przyjaźń, rozmawiajcie, zadawaj mu pytania, na pewno Cię nie zawiedzie.
Avatar użytkownika
riddyk
Bladawiec
Bladawiec
 
Posty: 20
Dołączył(a): niedziela, 20 lipca 2008, 17:27
Lokalizacja: Gliwice
PodziÄ™kowaÅ‚ : 0
OtrzymaÅ‚ podziÄ™kowaÅ„: 0
    NieznanyNieznana

Re: kilka form

Nowy postprzez Darek_C++ » Å›roda, 8 października 2008, 00:09

Dlatego należy zmienne deklarować nie jako globalne tylko jako właściwości prywatne lub publiczne danej klasy.
Kod: Zaznacz cały
private:   // User declarations
public:      // User declarations

Odwołujemy się do nich jak do właściwości danego obiektu np. Form1->intSzrokoscOkna; itd;

Na dolnej belce pojawiają się ikony skojarzone z programem, a nie jego formami(oknami). Kolejne okna są wywoływane w ramach tego samego programu(procesu), a nie innego wiec i ikona będzie jedna...
Avatar użytkownika
Darek_C++
Elektrowied
Elektrowied
 
Posty: 454
Dołączył(a): piątek, 25 lipca 2008, 14:33
PodziÄ™kowaÅ‚ : 66
OtrzymaÅ‚ podziÄ™kowaÅ„: 4
System operacyjny: Windows XP Pro SP2
Kompilator: Turbo Explorer C++
Gadu Gadu: 0
    NieznanyNieznana

Re: kilka form

Nowy postprzez Cyfrowy Baron » Å›roda, 8 października 2008, 07:47

► patrz serwis: Cyfrowy Baron dziaÅ‚: teoria -> przekazywanie obiektów i funkcji pomiÄ™dzy formularzami.
► patrz serwis: Cyfrowy Baron dziaÅ‚: różne 2 -> Tworzenie przestrzeni dla zmiennych lub funkcji (48)

Na dolnej belce pojawiają się ikony skojarzone z programem, a nie jego formami(oknami). Kolejne okna są wywoływane w ramach tego samego programu(procesu), a nie innego wiec i ikona będzie jedna...


► patrz serwis: Cyfrowy Baron dziaÅ‚: porady -> formularz -> Minimalizacja okna głównego bez minimalizacji okien wtórnych.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana

Re: kilka form

Nowy postprzez kinio » Å›roda, 8 października 2008, 11:21

Cześć!

Dlatego należy zmienne deklarować nie jako globalne tylko jako właściwości prywatne lub publiczne danej klasy.


Natomiast jeżeli wolisz jako globalne, to musisz to zrobić inaczej. Mając, jak to jest w Twoim przypadku Unit1 i Unit2 to właściwą deklarację umieszczasz w pliku *.cpp a pliku .h dodajesz modyfikator extern który służy po to aby dać znać kompilatorowi że właściwa deklaracja wystąpi gdzie indziej. Taki prosty przykład:

Unit1.h
Kod: Zaznacz cały
#ifndef FF
#define FF

class TForm1 : public TForm
{
};

extern int zmienna_globalna;      ///// Tutaj tylko sygnalizujemy deklaracjÄ™

#endif

a w pliku Unit1.cpp
Kod: Zaznacz cały
#include <vcl.h>
#include "Unit1.h"

int zmienna_globalna;      ///// WÅ‚aÅ›ciwa deklaracja zmiennej globalnej

..
__fastcall TForm1::TForm1(TOwner*)

Teraz bez obaw możesz włączyć plik Unit1.h do Unit2.cpp
If a machine is expected to be infallible, it cannot also be intelligent.
-- A.Turing
Avatar użytkownika
kinio
Homos antropiczny
Homos antropiczny
 
Posty: 67
Dołączył(a): poniedziałek, 14 lipca 2008, 08:51
PodziÄ™kowaÅ‚ : 0
OtrzymaÅ‚ podziÄ™kowaÅ„: 0
    NieznanyNieznana


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przeglÄ…da forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 5 gości

cron