Re: How can I have a DLL write data to my application's form? (eg. DLLs and procedural type question)
From: Thaddy de Koning (thaddy_at_replacethiswithmyfirstname.com)
Date: 01/08/05
- Next message: Stefan Bellon: "Re: Looking for a hash table"
- Previous message: J French: "Re: Looking for a hash table"
- In reply to: Rob Kennedy: "Re: How can I have a DLL write data to my application's form? (eg. DLLs and procedural type question)"
- Next in thread: Maarten Wiltink: "Re: How can I have a DLL write data to my application's form? (eg. DLLs and procedural type question)"
- Reply: Maarten Wiltink: "Re: How can I have a DLL write data to my application's form? (eg. DLLs and procedural type question)"
- Reply: Rob Kennedy: "Re: How can I have a DLL write data to my application's form? (eg. DLLs and procedural type question)"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Sat, 08 Jan 2005 11:32:38 GMT
Yes, recyclerMM does this automatically, as does MultiMM.pas another
good one.
Yes, you're right about the $CC, typo.
Yes, you could use the heap allocator functions, but no the COM memory
allocator does a lot more than you would expect at first glance: it does
maintain a systemwide reference count on the memory allocation ( maybe
in contrast to what you imply). it also makes your applications and
dll's fully com memory compliant, which means you can easily share
memory with applications written in other (COM compliant) languages and
thus can be a great (if sometimes rather ambiguous!) timesaver. As I
explained, from Delphi you'd need to make shure both dll and exe uses
this manager. The sharemem dll is a dependency I really can do without,
since the standard memory manager as well as the sharemem manager are
not very good anyway , really doesn't justify its size and can be very
disadvantageous under for example the following circumstances:
- loads of small allocations tend to fragment a lot
- The lack of proper alignment can lead to a huge speed penalty in code
for f.e. multimedia.
- Distribution of an extra dll can easily lead to screw ups from both us
and the customer.
- Applications for which the modules are written in more than one
language (actually quite a common practice)
A proper aligning memory manager can speed up your code by as much as 200%
B.t.w. the small example manager I included does nothing to solve any of
the above! It just solves the sharemem dependency.
Julian Bucknall also wrote a nice manager that solves the fragmenting
heap problem: hpdefr.pas that also is a lot faster for most code.
- Next message: Stefan Bellon: "Re: Looking for a hash table"
- Previous message: J French: "Re: Looking for a hash table"
- In reply to: Rob Kennedy: "Re: How can I have a DLL write data to my application's form? (eg. DLLs and procedural type question)"
- Next in thread: Maarten Wiltink: "Re: How can I have a DLL write data to my application's form? (eg. DLLs and procedural type question)"
- Reply: Maarten Wiltink: "Re: How can I have a DLL write data to my application's form? (eg. DLLs and procedural type question)"
- Reply: Rob Kennedy: "Re: How can I have a DLL write data to my application's form? (eg. DLLs and procedural type question)"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|