Articles
Here you can find several articles on Delphi and/or C++Builder related subjects. The sources to the articles will be posted to my Downloads page too.
Currently, you can find these articles on my site:
- DLL dos and don’ts
- A guide to writing user-friendly DLLs that can be used from most languages on Windows.
- Addressing pointers
- A very lengthy article discussing the use and abuse of pointers and references in Delphi, from my POV. I also try to explain pointers for those who are not familiar with them.
- Open array parameters and array of const
- Describes the syntax and use of open array parameters, and the use of the "array of const" parameter type.
- Floating point numbers — Sand or dirt
- An article discussing the use and limitations of the floating point types used by Delphi.
- Using C++ objects in Delphi
- Explains two techniques how C++ objects can be used from a DLL: either “flattened” as functions, or as COM interfaces.
- PChars: no strings attached
- Discusses the similarites and the differences between PChars and strings, as well as some things you should or shouldn’t do with them. With additions for Delphi 2009 and above.
- Using C object files in Delphi
- Demonstrates how to compile and link an object file into a Delphi unit, and provide the required parts of the C runtime.
- Pitfalls of converting
- A very lengthy article too, discussing most of the pitfalls I have encountered during the conversion of C and C++ header files to Delphi units. It is not a tutorial, just a text for advanced reading about the subject.
- A Tale of Two Assemblers
- Demonstrates how to use NASM (the Netwide Assembler) to replace BASM (Delphi’s built-in assembler) routines with external assembler. This knowledge may be important for some future versions of Delphi, which may not have a BASM.
- Installing a package from the IDE
- A short article describing how you can install a package that was opened in the IDE, using the Open Tools API and some trickery.
If you have any comments on one of the articles, please email me.