Dziwne błędy

0

Gdy <ort>włanczam </ort>mój program po jakimś odstępie czasu pokazuje sie wiele kolejnych błędów windowsa . Tak jest za każdym razem na Win98 . Sprawdziłem na XP i wszystko działa ort! kilku rzeczy. Prosze pomóżcie mi to rozwiązać . Oto program z kodem : http://www.uploadcenter.republika.pl/program.exe Spakowane WinRar 3.30 w Exe. Do programu potrzeby jest komponent DelphiX dla Delphi 7 . Jeśli ktoś znajdzie rozwiązanie błędów lub zmieni jakoś kod aby <ort>działao </ort>prosze pisać także do mnie gg.

0

A debuggera używałeś ???

0

Zwróć uwagę na wszelkie timery, zapewne tam masz gdzieś błąd.

0

A co to jest i jak sie tego uzywa "debugger" ? W helpie delphi jest niejasno opisane (ort! dobrze angielskiego).

0

A co to jest i jak sie tego uzywa "debugger" ? W helpie delphi jest niejasno opisane (ort! dobrze angielskiego).

lol. Masz arta na 4p [glowa]

0

Podstawowy zintegrowany debugger obsługuje m.in. takie elementy jak: stepin(f7)/traceover(f8)/breakpoints(ctrl+f8)/watches(ctrl+alt+w)/cpu(ctrl+alt+c)/run to(ctrl-f4) ...i cała reszta spod view/debug windows.

// zapis klawiszy klasyczny borlandowy

0

Bardzo pomocne jest w programie tworzenie logów. Nakaż programowi wpisywanie co parę linijek kodu info do pliku co zrobił, wtedy Od razu będzie wiadomo gdzie się wywala.
Logi są przydatne w Win95, gdzie nie wejdzie Ci D7. Nawet debuggera nie musisz używać ;p

poza tym użyj

try ... except
0

Bardzo pomocne jest w programie tworzenie logów. Nakaż programowi wpisywanie co parę linijek kodu info do pliku co zrobił, wtedy Od razu będzie wiadomo gdzie się wywala.
Logi są przydatne w Win95, gdzie nie wejdzie Ci D7. Nawet debuggera nie musisz używać

poza tym użyj try ... except

Ale to nie są błędy programu... Pokazują się błędy windowsa typu :"program wykonał nieprawdłową operacje" i inne.

Zwróć uwagę na wszelkie timery, zapewne tam masz gdzieś błąd.
W tym programie nie ma timerów. Jeśli ktoś może prosze ściągnąć program z tamtego url i zobaczy , może znajdzie jakiś błąd .To dla mnie naprawde ważne.

0

Ale to nie są błędy programu... Pokazują się błędy windowsa typu :"program wykonał nieprawdłową operacje" i inne.

To chyba raczej wskazuje na błędy z twoim OS lub DirectX-em. Uruchom jakąś gierkę korzystającą z DirectX-a lub po prostu dxdiag i zrób testy. Kodu chyba nie jest zbyt dużo, aby miał się gdzie wywalać :-)

W tym programie nie ma timerów. Jeśli ktoś może prosze ściągnąć program z tamtego url i zobaczy , może znajdzie jakiś błąd .To dla mnie naprawde waż

DxTimer to też Timer, ale pod inną nazwą, co prawda zawiera tylko jedną linijkę kodu, ale...

0

To chyba raczej wskazuje na błędy z twoim OS lub DirectX-em. Uruchom jakąś gierkę korzystającą z DirectX-a lub po prostu dxdiag i zrób testy. Kodu chyba nie jest zbyt dużo, aby miał się gdzie wywalać

Z początku też tak myślałem , zainstalowołem nowy DirectX , nowe sterowniki do karty ale bład dalej jest.Co do Os-a : testowałm program na 98,95,Me,Xp na 3 różnych kompach.Błąd nadal jest. Udało mi sie ustalić że błąd powoduje zanik pracy Canvas Windowsa .Przestaje odświeżać pulpit,ikony,przyciski itp.

DxTimer to też Timer, ale pod inną nazwą, co prawda zawiera tylko jedną linijkę kodu, ale...

Prawda mój błąd... [wstyd]

0

Ale to nie są błędy programu... Pokazują się błędy windowsa typu :"program wykonał nieprawdłową operacje" i inne.

To czym twoim zdaniem sa bledy

program wykonal nieprawidlowa operacje
? Windowsa? Ludzie odczepcie sie od niego! Zrob tak jak to bylo napisane powyzej (z logami) i zobaczysz gdzie sie sypie.

0

Zrob tak jak to bylo napisane powyzej (z logami) i zobaczysz gdzie sie sypie.
Nie moge tak zrobić ponieważ gdy tylko pokaże się jakiś błąd pokazują mi sie błędy i zamyka mi Delphi i inne otwoate programy.

Już wiem gdzie najprawdopodbniej jest błąd więc prosze o pomoc w wyeliminowaniu go :

Map = record
pic  : integer;
block : boolean;
index : integer;
layer : array[0..5] of integer;
anim  : array[0..3] of integer;
end;

....

var
  Mapa : array[0..400,0..400] of Map;


form1.scena.Surface.Canvas.Rectangle(Obrys[xi,yi].kloc);

<font color=red>if mapa[Obrys[xi,yi].indexX,Obrys[xi,yi].indexY].pic>-1 then
form1.scena.Surface.Canvas.StretchDraw(obrys[xi,yi].kloc,form1.DXImageList1.Items[Mapa[obrys[xi,yi].indexX,obrys[xi,yi].indexY].pic].Picture.Bitmap);
end</font>

Błąd zaznaczyłem na czerwono . Według mnie jest to zbyt duże zużycie pamięci jednak niewiem jak można to przerobić .

0

Według mnie jest to zbyt duże zużycie pamięci jednak niewiem jak można to przerobić .

Mapa : array[0..400,0..400] of Map;

Według mnie tablica jest za duża i <ort>zurzywa </ort>za dużo ramu w czasie wyswietlania obrazka na monitorze . Spróbuj podzielić ją na części.

1 użytkowników online, w tym zalogowanych: 0, gości: 1