/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Dispose i en dobbelthægtet liste
Fra : //Overby


Dato : 23-01-02 17:37

Hejsa...

Jeg har et lille problem med min dobbelthægtet liste. Der bruges i en
køstruktur, og når jeg skal fjerne et element fra køen og dispose, får jeg
en access violation bla.bla.

Derfor har jeg kortet min metode ned til flg.:

procedure TForm1.Button2Click(Sender: TObject);
begin
if EndOf^.Prev = nil then
StartOf:=nil;

EndOf:=EndOf^.Prev;
end;

Men jeg ville gerne have brugt dispose også for at frigøre lagerplads...

Hjælp mig! Daniel



 
 
Thomas Rose (23-01-2002)
Kommentar
Fra : Thomas Rose


Dato : 23-01-02 18:19

Hej Overby,

"//Overby" <overby@sportNOT.dk> wrote in message
news:3c4ee6c4$0$13961$edfadb0f@dspool01.news.tele.dk...
> Hejsa...
>
> Jeg har et lille problem med min dobbelthægtet liste. Der bruges i en
> køstruktur, og når jeg skal fjerne et element fra køen og dispose, får jeg
> en access violation bla.bla.

Kunne du ikke poste noget mere kode... det fremgår ikke klart hvordan din
liste er defineret eller opbygget... eller hvilken kode der fremprovokerer
en AV.

Cheers,
Thomas



Finn Bindeballe (23-01-2002)
Kommentar
Fra : Finn Bindeballe


Dato : 23-01-02 18:32

hejsa der...........

hvorfor bruger du ikke bare en Tqueue???
den kan alt det 'frække' der.....*s*

/finn




//Overby (23-01-2002)
Kommentar
Fra : //Overby


Dato : 23-01-02 18:50

> hvorfor bruger du ikke bare en Tqueue???
> den kan alt det 'frække' der.....*s*

Fordi jeg skal til eksamen i morgen og skal bruge nogle eksempler - derfor
har jeg både en liste, pointere og en kø i en opgave smart, ikk'....

Daniel



//Overby (23-01-2002)
Kommentar
Fra : //Overby


Dato : 23-01-02 19:01

Jeg løste det selv.... Her er koden, hvis det skulle interessere nogen...

procedure TForm1.Button2Click(Sender: TObject);
var
Pointer: TPointer;
begin
if EndOf=nil then //Køen tom
ListBox1.Items.Add('Køen er tom!')
else if EndOf=StartOf then //Kun et element i køen
begin
Dispose(EndOf);
StartOf:=nil;
EndOf:=nil;
end
else //mere end et element i køen
begin
Pointer:=EndOf;
EndOf:=EndOf^.Prev;
Dispose(Pointer);
EndOf^.Next:=nil;
end;
end;

Daniel - over and out



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste