• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Kiedy użyć this, a kiedy nazwy formy?

Object Storage Arubacloud
0 głosów
338 wizyt
pytanie zadane 9 października 2016 w C i C++ przez Shiro Stary wyjadacz (10,300 p.)

Witam!

Mam taki kod:

void wczytaj()
{
    fstream plik;
    plik.open("lohjgg.txt", ios::in);
 
    if (plik.good() == false)
    {
        this->Notification->Text = "Błąd otwarcia pliku, kliknij aby spróbować ponownie!";
        this->Notification->Visible = 1;
    }
}

Jest to plik .cpp i VS2013 nie chcę mnie przepuścić z użyciem 'this' Może mi ktoś wytłumaczyć od czego zależy czy powinniśmy użyć this czy nazwy formy i jak komunikować się pomiędzy dwiema formami np w celu ukrycia przycisku? 

Z góry dziękuje i pozdrawiam!

komentarz 9 października 2016 przez unknown Nałogowiec (39,560 p.)
Rozumiem, że wczytaj to metoda jakiejś klasy, w której jest obiekt o nazwie Notification?
komentarz 9 października 2016 przez Shiro Stary wyjadacz (10,300 p.)
Tak notification to element, który ma się wyświetlić w przypadku błędu otwarcia pliku.

Z kolei wczytaj to void na poziomie funkcji głównej Main();

https://www.dropbox.com/s/oi4ch12two3xghj/Zrzut%20ekranu%202016-10-09%2017.59.36.png?dl=0
komentarz 9 października 2016 przez MichuDev Pasjonat (20,300 p.)
Proszę nie przesyłaj kodu w formie screenów, naruszasz regulamin i lepiej się czyta w formie tekstu.

2 odpowiedzi

+1 głos
odpowiedź 9 października 2016 przez Patrycjerz Mędrzec (192,320 p.)

Po pierwsze, to nie C++, tylko C++/CLI lub C++/CX (nie wiem, czego używasz). Pod drugie, wskaźnik this ma jedynie sens w metodzie klasy - w zwykłej funkcji niby do czego miałby się odnosić?

komentarz 9 października 2016 przez Shiro Stary wyjadacz (10,300 p.)
Tak to C++/CLR

No chciałbym się odnieść do elementu będącego w klasie ..

Klasa MainWindow ma przycisk Notification, którego visible chce zmienic na true.
1
komentarz 9 października 2016 przez Patrycjerz Mędrzec (192,320 p.)

Jeśli tak, to używasz odpowiednio:

  1. Dla wskaźnika na obiekt operatora "->"
  2. Dla obiektu operatora "."

Korzystasz wtedy z nazw obiektów widocznych w danej funkcji... z resztą, to są podstawy i nie mam bladego pojęcia, dlaczego jeszcze ich nie przyswoiłeś.

Z twojego kodu wynika, że chcesz skorzystać z obiektu klasy MainWindow w funkcji wczytaj, czyli musisz zrobić tak, aby ten obiekt był w tej funkcji widoczny, robiąc go globalnym lub przesyłając przez argument.

0 głosów
odpowiedź 9 października 2016 przez criss Mędrzec (172,590 p.)

Z kolei wczytaj to void na poziomie funkcji głównej Main(); 

?? To nawet sensu nie ma. Ale screen rozjaśnił sprawe.. Btw. kod wrzucaj w postaci tekstu a nie obrazków.

this to wskaźnik wskazujący na obiekt z którego została wywołana metoda w której odniosłeś się do this. Czyli w "samodzielnych" funkcjach czy metodach statycznych nie ma żadnego zastosowania (kompilator tego nie skompiluje, bo nie wiadomo o co ci chodzi). Na dalszą część pytania ci nie odpowiem, bo nigdy nie pisałem w tym całym c++/CLR (czy CLI, whatever) i nie wiem o czym mówisz.

Podobne pytania

0 głosów
0 odpowiedzi 80 wizyt
pytanie zadane 14 czerwca 2016 w C i C++ przez Shiro Stary wyjadacz (10,300 p.)
0 głosów
1 odpowiedź 167 wizyt
0 głosów
0 odpowiedzi 486 wizyt

92,536 zapytań

141,377 odpowiedzi

319,452 komentarzy

61,922 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...