O co chodzi ci z tą pamięcią górną?
Chcesz wrzucić do pamięci rozszerzonej (>640 KB) czy raczej chodzi o zniesienie ograniczenia 64KB dla danych statycznych?
Jeżeli to drugie, to nie możesz tego tak zrobić jak próbujesz. Nie możesz w ogóle użyć konwencjonalnych tablic (array). Wykorzystaj zmienne dynamiczne. Np:
type PTablica = ^TTablica
TTablica = record
Warosc: Byte;
Prawo, Dol: PTablica; {wskaźniki do sąsiednich komórek. Można to rozszerzyć także o Gora i Lewo}
end;
I dynamicznie tworzysz tablicę:
procedure UtworzTab(PierwElem: PTablica);
var
j, k: Byte;
OstWiersz, Kol: PTablica;
begin
OstWiersz := PierwElem;
for j := 0 to 255 do
begin
New(Wiersz);
Wiersz^.Prawo := nil;
OstWiersz^.Prawo := Wiersz;
OstWiersz := Wiersz;
for k := 0 to 255 do
begin
New(Kol);
Kol^.Dol := nil;
Wiersz^.Dol := Kol;
Wiersz := Kol;
end;
end;
Pisałem z pamięci. Gwarancji na działanie nie dam.
--
Jest jeszcze jeden błąd ... :)
--------Oficjalny kanał----------
Service for programmers w IRC:
Kanał: #4programmers
Serwer: warszawa.ircnet.pl
Sieć: POLNet
Port: 6667