TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: Keith Bennett
from: Jonathan de Boyne Pollard
date: 1994-12-27 05:05:44
subject: DLL Prog Q: Destructor C

KB>
  > The problem occurs when I delete in my main source file a
  > class object whose functions are defined in the .DLL.
KB>

  Unless you link with the DLL form of the C runtime library, each EXE
  and DLL has its own C runtime heap.  If you allocate an instance of a
  class in a DLL, it will come from the DLL's heap.  If you then delete
  it in the EXE, it will be returned to the EXE's heap.  This crosslinks
  two separate C runtime heaps and can result in heap corruption.

  In other words, ensure that all heap-based instances of your classes
  are deleted by the same EXE or DLL that allocated them.

  > JdeBP <
___
 X MegaMail 2.10 #0:

--- Maximus/2 2.02
* Origin: DoNoR/2,Woking UK (01483-725167) (2:440/4)
SEEN-BY: 12/2442 620/243 624/50 632/348 640/820 690/660 711/409 410 413 430
SEEN-BY: 711/807 808 809 934 942 949 712/353 515 713/888 800/1
@PATH: 440/4 141/209 270/101 396/1 3615/50 229/2 12/2442 711/409 808 809 934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.