-
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
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
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- 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)
Najnowsze wątki
- 2025-05-03 gazowe kuchnie są znacznie bardziej szkodliwe dla zdrowia, niż dotychczas sądzono
- 2025-05-03 Czyli jednak elektryki są TANIE i powszechnie dostępne dla obywateli
- 2025-05-03 Elektryki do Morskiego Oka do utylizacji
- 2025-05-03 Crash testy na publicznej drodze - 4 BMW zderzone
- 2025-05-03 pojebane Google
- 2025-05-03 Brednie w wiki - hasło Dehomag
- 2025-05-03 gazowe kuchnie są znacznie bardziej szkodliwe dla zdrowia, niż dotychczas sądzono
- 2025-05-03 Chiny => Koordynator Produkcji / Przedstawiciel ds. rozwoju produktu <
- 2025-05-03 Gdańsk => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-05-03 Warszawa => Frontend Developer (Angular13+) <=
- 2025-05-02 Gliwice => Business Development Manager - Network and Network Security
- 2025-05-02 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-05-02 Polska => Senior Key Account Manager <=
- 2025-05-02 Warszawa => Senior Programmer C <=
- 2025-05-02 Gdańsk => Team Lead Data Engineer (Snowflake) <=