Symulator EU07 (i nie tylko) > Na warsztacie
Instalator+Starter+Edytor (Rainsted)
Ra:
Na razie include ładują się tylko na życzenie. Nie ma jeszcze podstawiania parametrów (p*). Plik tekstowy dla include ładuje się tylko raz, a jest parsowany oddzielnie dla każdego wpisu.
Może nawyk jest dobry, ale dodawanie pustych konstruktorów i destruktorów dla kilkudziesięciu klas kończy się tym, że co jakiś czas znajduję jakąś klasę, do której jeszcze któregoś z nich nie dopisałem. :) W każdym bądź razie, nie łazi mi już gdzie nie powinien.
Z usuwaniem obiektów z listy poradziłem sobie w taki sposób, że zamiast wywoływać destruktor następnego z listy (co powoduje ogromną rekurencję, bo następny usiłuje usunąć kolejnego),
--- Kod: ---if (next) delete next; //usuwanie rekurencyjne
--- Koniec kodu ---
wyjmuję ten następny poza listę i usuwam go pojedynczo.
--- Kod: ---while (next)
{p=next; //następny (tu na pewno coś jest)
next=p->next; //skrócenie listy (tu może już być NULL)
p->next=NULL; //obiekt wyjęty z listy nie ma ogona
delete p; //i do pieca
} //pętla opróżnia do zera
--- Koniec kodu ---
Nie mam pojęcia, jak to jest zrobione w Symku. Na pewno tam może być to zrobione prościej, bo nie ma potrzeby zapisania tego ani odporności na błędy składni. Ja chcę to zrobić tak, by po zmianach dało się to zapisać, a także by były analizowane wpisy w komentarzach. Zrobiłem już przymiarki do pomijania błędnych wpisów (program będzie wskazywał wadliwy fragment). W zasadzie to mogę już pokazać, co zrobiłem dotychczas. Program [aktualny link w podpisie] należy umieścić w głównym katalogu, tam gdzie EU07.EXE. Jest bezpieczny - jedynie czyta pliki i nie ma żadnego złośliwego kodu - ale za ewentualne straty nie odpowiadam. Mogą być potrzebne biblioteki Borlanda (993kB) - rozpakować w to samo miejsce, albo do katalogu SYSTEM Windows. Będę wdzięczny za przekazanie mi informacji, w jakich warunkach się wysypuje i plików scenerii, których nie czyta prawidłowo.
Krzysiek626:
Niestety nie udało się uruchomić. Komunikat o braku biblioteki vclx40.bpl
Bliblioteki umieszczone w windows/ system a także w katalogu głównym maszyny. Katalog główny maszyny ma ścieżkę: G:/def/eu07.
Ra:
Hm, "ja wiedziałem, że tak będzie"... Wgrałem bibliotekę VCLX40.BPL do wcześniej podanego archiwum. Z nią powinno już działać.
Zrobiłem też nowszą wersję: [aktualny link w podpisie]
* zamiana / na \ w nazwach plików,
* sprawdzanie, czy plik istnieje (=1),
* poprawione nazwy katalogów (brakowało s na końcu),
* jeśli plik tekstury nie znaleziony, sprawdzanie .TGA, .TEX i .BMP,
* domyślne rozszerzenie .INC dla pliku include (tak ma być?),
* include w komentarzu nie jest już wczytywane automatycznie,
* poprawiona analiza komentarzy // (było po wyrazie zamiast do końca linii),
* blokada parsowania nieistniejących plików include.
Krzysiek626:
Mocno przestrzegam testowanie tego programu i wczytywanie nieznanych bibliotek. Nieznane jest niestety działanie i wpływ bibliotek na działanie systemu i symulatora. Autor napisał że nie bierze odpowiedzialności. Mnie próba odpalenia programu zaszkodziła.
--- Cytuj ---Hm, "ja wiedziałem, że tak będzie"...
--- Koniec cytatu ---
Skoro wiedziałeś to czemu tak zrobiłeś?
teraz to już nie ważne....
Ra:
Wszystkie biblioteki pochodzą z pakietu Borland C++ Builder Pro i nie są modyfikowane (mają daty z 1998/2000). Prawie każdy program stworzony tym kompilatorem będzie ich potrzebował. Komunikat o braku biblioteki jedynie uniemożliwia uruchomienie programu.
--- Cytat: Krzysiek626 w 11 Września 2007, 21:59:02 ---Mnie próba odpalenia programu zaszkodziła.
--- Koniec cytatu ---
Coś Ci się uszkodziło?
Jeśli program nie znajdzie bibliotek, wyświetla komunikat, że ich nie ma. Nie mam niestety komputera z systemem bez Borland C++, żebym mógł sprawdzić, jakie to biblioteki. Włożyłem do archiwum trzy, których nazwy znalazłem w kodzie programu (vcl40.bpl, borlndmm.dll, CP3245MT.DLL). Wydawało mi się, że potrzebne były cztery, ale nie byłem pewien - czwarta to vclx40.bpl.
Nawigacja
[#] Następna strona
Idź do wersji pełnej