-
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mail
From: Paweł Kierski <n...@p...net>
Newsgroups: pl.comp.programming
Subject: Re: Visual Studio C++ Express -> dostęp do formy głównej
Date: Thu, 19 Nov 2009 14:35:47 +0100
Organization: http://onet.pl
Lines: 52
Message-ID: <he3hjk$p2h$1@news.onet.pl>
References: <he3gt7$223$1@inews.gazeta.pl>
Reply-To: n...@p...net
NNTP-Posting-Host: 91.197.12.15
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: news.onet.pl 1258637748 25681 91.197.12.15 (19 Nov 2009 13:35:48 GMT)
X-Complaints-To: n...@o...pl
NNTP-Posting-Date: Thu, 19 Nov 2009 13:35:48 +0000 (UTC)
User-Agent: Mozilla-Thunderbird 2.0.0.0 (X11/20070601)
In-Reply-To: <he3gt7$223$1@inews.gazeta.pl>
Xref: news-archive.icm.edu.pl pl.comp.programming:183973
[ ukryj 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
Następne wpisy z tego wątku
- 19.11.09 14:06 Jan Kowalski
- 19.11.09 15:03 Wiktor S.
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-03-02 Tusk idzie na rekord deportacji po 1989 [Będzie popyt na prawników]
- 2025-03-01 Obywatel telefonuje 112 lub 986
- 2025-03-01 detektyw (?) Rutkowski działał jako prasa
- 2025-03-01 "Policjant został ujęty obywatelsko..."
- 2025-03-01 zatrzymanie zbyszka maja
- 2025-03-01 Warszawa => Expert Recruiter 360 <=
- 2025-03-01 Chrzanów => NodeJS Developer <=
- 2025-03-01 Warszawa => Gen AI Engineer <=
- 2025-03-01 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-03-01 Kraków => Technical Team Leader (Clojure, Java) <=
- 2025-03-01 Zrobił TV OLED z TV LCD
- 2025-03-01 Gdynia => Sales Executive / KAM <=
- 2025-03-01 Błonie => Sales Specialist <=
- 2025-03-01 Ryga => Konsultant Wdrożeniowy Comarch XL/Optima (Księgowość i Kad
- 2025-03-01 Żerniki => Dyspozytor Międzynarodowy <=