Thanks for the effort!madshi wrote: Tested it myself in BCB5. With packages its 180 KB. Without packages (had to manually edit the project file to get rid of the WINDOWS.OBJ problem) the file even got to 195 KB. So in other words: BCB really isn't a good solution for madCodeHook. I didn't expect BCB to be that bad!
I also see mention of Delphi 8. What is that? The only evaluation now available is Delphi 2005. Regarding the cheapest edition for commercial development, that would be the Standard edition, as you said. The Personal editions don't let you charge for your software. But Delphi 5 is the last one to have a Standard edition. Unfortunately, I could not find anyplace that still had it in stock.madshi wrote: madCodeHook supports D4-D7 and D2005. Every edition is supported, except D6 evaluation (not sure about D2005 evaluation, didn't test that yet). I'd suggest that you try to get access to a D4 or D5 standard or professional edition. Those should be *very* cheap to get. I'm not sure about the license situation, though. Maybe the standard edition must not be used for commercial projects? I believe the standard edition (D4, D5) is ok for commercial usage, but the personal edition (D6, D7) is not. Might be wrong, though. The professional edition is just fine, though. And as I said D4/5 professional should be quite cheap now.
So I might as well buy Delphi 2005 Professional. But for a new user license, it is US$1000! I'm not sure I can justify that. All I want is a compiler/linker that builds a simple source file! I wish it were like the Borland C++Builder, where it seems the command-line tools are free. I don't understand Borland pricing schemes. They've totally abandoned the hobbyist, and are strictly corporate now. Are you sure you want to keep using such a system for madCodeCollection?
What I did yesterday is rewrite my injector to use Windows hooks instead of madCodeHook. That reduced the .exe to 40 KB. I might have to live with the .dll being 150 KB or so. The two together zip down to 88 KB. So it might be a solution, but it's a shame because now I have to implement my own IPC mechanism due to the fact the .exe no longer contains madCodeHook.madshi wrote: Well, a side effect is that I'm pushing Delphi this way, which is quite welcome! But maybe a C port will come sooner or later, especially because I need to support 64bit OSs soon, and Borland doesn't offer a 64bit compiler/linker/IDE yet...
I was tempted to just use EliCZ code, which is extremely small, but does not seem as safe. I am especially concerned with uninjection; according to your comparison, he does not support safe uninjection?
I hope you decide to rewrite madCodeHook in either C or assembly. At the least, it would give BorlandC++ users an alternative, not to mention all the Microsoft VC++ users too. Moreover, I've written hook dll's as tiny as 4 KB in VC++, using Matt Pietrek tricks to reduce/remove the C startup code. Even your current Delphi .dll is an order of magnitude larger than that. I'm not sure Delphi can produce tiny dll's like this. I understand you want to promote Delphi, but at some point, it is the limiting factor here.
Cheers,
David