eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingVisual Studio C++ Express -> dostęp do formy głównejRe: Visual Studio C++ Express -> dostęp do formy głównej
  • Data: 2009-11-19 13:35:47
    Temat: Re: Visual Studio C++ Express -> dostęp do formy głównej
    Od: Paweł Kierski <n...@p...net> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    Jan Kowalski wrote:
    > W jaki sposób uzyskać dostęp do formy głównej (i jej kontrolek) programu
    > napisanego pod Visual C++ Express?.

    Domyślam się, że projekt jest w C++/CLI - potwierdź, bo to bardzo
    istotna rzecz.

    > Oprawiam w okienkową skórę program napisany pierwotnie pod konsole. Włączyłem
    > plik z kodem źródłowy do projektu. Program kompiluje się poprawnie. Teraz
    > chciałbym aby parametry wprowadzane do kontrolek na formie głównej mogły
    > zostać wykorzystane przez pierwotny kod programu. Chodzi np. o nazwę pliku.
    > Oczywiście mogę skonwertować nazwę do char i podać do funkcji jako parametr,

    I to jest bardzo dobry pomysł.

    > mogę utworzyć zmienną globalną widzianą w całym programie i użyć ją do
    > przekazania nazwy,

    A to jest bardzo zły pomysł.

    > ale dlaczego nie ma sposobu (a przynajmniej ja nie wiem jak
    > to zrobić) aby uzyskać dostęp do formy głównej programu i jej kontrolek tak
    > aby odwoływać się w taki oto sposób Form1->textBox1->Text?

    Bo w ogólności nie ma takiej potrzeby.

    > Albo inny problem.
    > Funkcja przetwarza plik i potrzebuje sygnalizować to za pomocą progress bar.
    > Nie mając dostępu do formy głównej nie mam dostępu do progress bar.

    I nie musisz mieć. Wystarczy, że funkcja sygnalizuje postęp wywołaniem
    zwrotnym (callbackiem). Wtedy przekazujesz funkcji informację, że ma
    wywołać funkcję (np. statyczną metodę klasy okna głównego), która wie
    już jak informację o postępie zwizualizować. W .NET do tego służą eventy
    i delegaty.

    > Teoretycznie można to obejść pakując cały kod do wnętrza klasy,

    Znów bardzo zły pomysł.

    > ale nie
    > zmienia to faktu, że nie wiem w jaki sposób dostać uchwyt do formy głównej. Z
    > tego co mi wiadomo (jestem początkujący) inne RADy np. C++ Builder Borlanda
    > dają taką możliwość więc sądzę, że Visual powinien mieć podobną możliwość.

    Niestety Borland ma taką możliwość i wszystkie złe pomysły, które
    tutaj podałeś pośrednio wynikają z tej możliwości i początkowej łatwości
    uzyskiwania rezultatów za ich pomocą.

    --
    Paweł Kierski
    n...@p...net

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: