Gdzie umieścić klasę by się później do niej odwoływać? |
Autor |
Wiadomość |
vertical
Dołączył: 05 Cze 2011 Posty: 9 Skąd: nieJestemBotem
|
Wysłany: 05-06-2011, 21:56 Gdzie umieścić klasę by się później do niej odwoływać?
|
|
|
Mam jakąś tam klasę w pliku txt. Chcę wywołać w robocie metodę z tej klasy. Gdzie powinienem tą klasę umieścić by to działało? |
|
|
|
|
krzys_h
Twoja ulubiona misja: Wszystkie :)
Pomógł: 3 razy Wiek: 20 Dołączył: 12 Gru 2010 Posty: 255 Skąd: Łódź
|
Wysłany: 05-06-2011, 21:59
|
|
|
Deklaracja tej klasy musi być poprzedzona słowem kluczowym extern, a zawartość pliku txt z nią musisz wczytać do dowolnego slotu dowolnego robota. |
_________________ Gość, cieszysz się, że skontaktowaliśmy się z EPSITEC? |
|
|
|
|
vertical
Dołączył: 05 Cze 2011 Posty: 9 Skąd: nieJestemBotem
|
Wysłany: 05-06-2011, 22:10
|
|
|
Dobra. Mam taką klasę (prawdopodobnie źle stworzoną) w jednym robocie:
Kod: | extern public class Program
{
public void powerCell(object a)
{
message(a.energyLevel);
}
} |
W drugim robocie mam:
Kod: | extern void object::Nowy()
{
Program pokaz;
pokaz.powerCell(energyCell);
} |
Co tu jest źle i jak zrobić by działało. |
|
|
|
|
krzys_h
Twoja ulubiona misja: Wszystkie :)
Pomógł: 3 razy Wiek: 20 Dołączył: 12 Gru 2010 Posty: 255 Skąd: Łódź
|
Wysłany: 05-06-2011, 22:25
|
|
|
Według mnie jest dobrze. Jeśli jeszcze coś nie działa to powiedz, czy wywala błędy, wypisuje jakieś wartości z kosmosu czy co się dzieje. |
_________________ Gość, cieszysz się, że skontaktowaliśmy się z EPSITEC? |
|
|
|
|
vertical
Dołączył: 05 Cze 2011 Posty: 9 Skąd: nieJestemBotem
|
Wysłany: 05-06-2011, 22:34
|
|
|
No wywala. Po wciśnięciu ok podświetla 'class' i na dole wyświetla 'Brak deklaracji typu'. Może dlatego, że w ogóle pozbyłem się głównej funkcji programu? |
|
|
|
|
krzys_h
Twoja ulubiona misja: Wszystkie :)
Pomógł: 3 razy Wiek: 20 Dołączył: 12 Gru 2010 Posty: 255 Skąd: Łódź
|
Wysłany: 06-06-2011, 07:07
|
|
|
Sorki, mój błąd. Zamiast "extern" miało być "public", które wpisałeś. Wyrzuć extern to będzie ok. |
_________________ Gość, cieszysz się, że skontaktowaliśmy się z EPSITEC? |
|
|
|
|
vertical
Dołączył: 05 Cze 2011 Posty: 9 Skąd: nieJestemBotem
|
Wysłany: 06-06-2011, 18:31
|
|
|
Tak też próbowałem. Wtedy po wciśnięciu ok nic się nie dzieje. W drugim robocie z kolei wyświetla 'brak nazwy zmiennej'. |
|
|
|
|
adiblol
Administrator forum FLOSS FTW!
Twoja ulubiona misja: porównywanie formatów audio
Pomógł: 18 razy Dołączył: 21 Kwi 2008 Posty: 1313 Skąd: pokój odsłuchowy
|
|
|
|
|
vertical
Dołączył: 05 Cze 2011 Posty: 9 Skąd: nieJestemBotem
|
Wysłany: 06-06-2011, 18:54
|
|
|
Spójrz trochę wyżej |
|
|
|
|
adiblol
Administrator forum FLOSS FTW!
Twoja ulubiona misja: porównywanie formatów audio
Pomógł: 18 razy Dołączył: 21 Kwi 2008 Posty: 1313 Skąd: pokój odsłuchowy
|
Wysłany: 06-06-2011, 18:59
|
|
|
Eee, no właśnie, to jest CAŁY kod? A przypadkiem funkcja extern nie jest obowiązkowa? |
_________________ 1Tbps Project && Telecomix Network
|
|
|
|
|
vertical
Dołączył: 05 Cze 2011 Posty: 9 Skąd: nieJestemBotem
|
Wysłany: 06-06-2011, 19:52
|
|
|
Nie wiem. A jest? |
|
|
|
|
Simbax
Mod
Twoja ulubiona misja: Wszystkie na Krystalii
Pomógł: 6 razy Wiek: 22 Dołączył: 07 Sie 2009 Posty: 473 Skąd: z Leszna
|
|
|
|
|
Berserker
Dark Ness
Twoja ulubiona misja: Ofrenia
Pomógł: 16 razy Wiek: 24 Dołączył: 24 Mar 2009 Posty: 496 Skąd: Bigos
|
Wysłany: 06-06-2011, 20:19
|
|
|
Program z klasa musi byc uruchomiony by klasa sie wgrala do pamieci.
Pamietaj rowniez, ze powinienes zainicjalizowac instancje lub odwolac sie do istniejacej.
Kod: | Program test = new Program() |
lub
Kod: | Program test() // tylko przy deklaracji |
lub
Kod: | Program test, test2;
test = new Program();
test2 = test;
|
|
_________________
|
|
|
|
|
vertical
Dołączył: 05 Cze 2011 Posty: 9 Skąd: nieJestemBotem
|
Wysłany: 06-06-2011, 20:53
|
|
|
No tylko że on się nie chce uruchomić.
EDIT:
Rozumiem, że program z klasą musi chodzić cały czas. Żeby chodził cały czas trzeba dać while(true) ale czy wtedy on tą klasę w ogóle odczytuje(nie wiem jak to określić)? |
|
|
|
|
Berserker
Dark Ness
Twoja ulubiona misja: Ofrenia
Pomógł: 16 razy Wiek: 24 Dołączył: 24 Mar 2009 Posty: 496 Skąd: Bigos
|
Wysłany: 06-06-2011, 21:48
|
|
|
Kod: | public class Program
{
void powerCell(object a)
{
message(a.energyLevel);
}
} |
Tak powinna wygladac poprawna klasa, a jesli po tym nie bedzie dzialac, to daj caly kod z obu robotow. |
_________________
|
|
|
|
|
|