Delphi32.com - Home!
| Home/News | Downloads | Forums | D32 Magazine | Resources | Info and Facts |  
 
 How can I avoid an access violation when using the move procedure


How can I avoid an access violation when using the move procedure with pointers?   

    You must dereference the pointers, otherwise you are moving the address of the pointers and possibly corrupting other memory locations. Example

    procedure TForm .Button Click(Sender: TObject);
    var
      p  : pointer;
      p2 : pointer;
    begin
      GetMem(p ,  28);
      GetMem(p2,  28);
     {This line may cause an access violation}
      Move(p , p2,  28);
     {This line is correct}
      Move(p ^, p2^,  28);
      FreeMem(p ,  28);
      FreeMem(p2,  28);
    end;
    

     



  << Previous Faq     Complete List     Next Faq >>  



 
 Hits/month  2,500,000+ 
 Downloads
 (Since May 2000)
 7,393,709 
 Total Files  6,023 
 Forum msgs  7,670 
 Articles/FAQs  70+/900+ 
Kylix
Tips n Tricks
FAQs
Knowledge Base
Bug Listings
Articles
Books
Newsgroups
Links
Submissions
Testimonials
Advertising
Contact Us
About Us
Search Amazon:
Top Selling Software at Amazon

| Home/News | Downloads | Forums | Resources | Info and Facts | Testimonials |
  Site Search:
 


Comments/Problems: Webmaster@delphi32.com
Copyright © 1998-2006, Delphi32.com. All rights reserved.
Terms of Use