[Delphi] [Delphi Kylix] Wskazniki

0

Jol!
Mam pewnien problem ze wskaznikami. Oto pare deklaracji
type
PRec = ^TIdPeerThread;
var
Threads : array of PRec;

Pamiec dla wskaznika przydziela sie procedura New. I moje pytanie brzmi: jak sprawdzic czy dla wskaznika jest przydzielona pamiec ?

--
Pozdrawiam {hello} Tomasz K.

0

var
p:pointer; {wskanik=nil}
c:integer;
begin
c:=-1313;
p:=@c; {p wskazuje miejsce zmiennej c w pamięci}
Writeln(integer(p^));
To jest przykład z pascala mam nadzieje ze się przyda

--
Pozdrowienia [cya]
Waldi Koronowo
goldcar1@wp.pl
Zdarza sie że pisze e przed i nie zwracajcie uwagi na to:-D

0

if Assigned(Wskaźnik)

0

A nie lepiej po prostu:

if not(p=nil)...

0

A nie lepiej po prostu:

if not(p=nil)...

To nie wypali dla wskaźników do funkcji.

--
Vogel [Delphi 6 PE]

Life is just a dream, you know...
[Cowboy Bebop]

0

To nie wypali dla wskaźników do funkcji.

Nie chodzi o wskaznik do funkcji tylko do obiektu. Niestety ani nil ani Assigned sie nie sprawdza. W obu przypadkach po i przed przydzieleniem pamieci dostaje zawsze ten sam wynik.

--
Pozdrawiam {hello} Tomasz K.

0

Nie chodzi o wskaznik do funkcji tylko do obiektu. Niestety ani nil ani Assigned sie nie sprawdza. W obu przypadkach po i przed przydzieleniem pamieci dostaje zawsze ten sam wynik.

Po zwolnieniu daj:
wskaźnik:=[b]nil[/b]

--
Vogel [Delphi 6 PE]

Life is just a dream, you know...
[Cowboy Bebop]

0

Teraz ok :) Dzieki.

--
Pozdrawiam {hello} Tomasz K.

0

Od Delphi 6 wprowadzono nową funkcję FreeAndNil, która zwalnia i ustawia wskaźnik na nil. Przydatna rzecz :)

--
Jest jeszcze jeden błąd ... :)

Apel: Piszcie w tematach o jaki język programowania chodzi np. : [Delphi], [C++], itp.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.