Forum
Grundkurs
»Introduktion
»Snabbguide
»Komponenter
»Händelser
»Strängar
»Räkna med Delphi »Egna
typer
»Selektion
»Iteration
»Menyer
»Funktioner
»Arraystrukturer
Tips & Tricks
»Nya tips
»Blandat
»Databaser
»Filer
»Forms
»Grafik
»Internet
»Komponenter
»Matematik
»Multimedia
»Objekt/ActiveX
»Skrivare
»Strängar
»System
»Mest lästa tips
Artiklar
»Delphi och ADO
»Bygga en DLL
»Skapa en enkel rapport
»Hantera registret
»Enheter, units
»Klassen TCanvas
»Använd LookUp Controls
Nya
tips
Lägg
till tips
Delphilänkar
Gästbok
|
|
Undvik Access Violation när du använder Move
|
Kategori: Blandat
Inlagt: 2006-08-13
Läst: 1343
Inlagt av: Staffan Berg
|
Beskrivning |
För att undvika felmeddelandet "Access violation" när du använder Move-proceduren krävs att du omrefererar pekaren annars är det stor risk att det blir konflikt när du går in på andra minnesallokeringar.
|
Kod |
procedure TForm1.Button1Click(Sender: TObject); var p1 : pointer; p2 : pointer; begin GetMem(p1, 128); GetMem(p2, 128); //This line may cause an access violation Move(p1, p2, 128); //This line is correct Move(p1^, p2^, 128); FreeMem(p1, 128); FreeMem(p2, 128); end;
|
|
|