- Delphiartiklar, tips, forum, länksamling - 

      

START | DELPHI | LÄNKARGÄSTBOK 




 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: 1430
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; 

 
 
© Copyright 2005 - Staffan Berg
- Alla rättigheter förbehålles -