For my application I need to create a DLL from Delphi (to be more precise Delphi compatible code written within Lazarus IDE compiled by free pascal under linux) using stdcall.
When using that DLL (for example in Matlab or so) one needs of course the meta information for passing the arguments - often realised with a header file.
I'm searching for a tool do to that running on the delphi source code. Something like h2pas-reverse.
My research yielded no results. As I think, there is no such tool, I'd like to find a table or other information, how the Delphi/Pascal data types are mapped to C types and how to work with records.
Howto create C-Header for Delphi/Free Pascal/Lazarus DLL - data types
2.3k views Asked by Bastian Ebeling At
1
There are 1 answers
Related Questions in C
- Passing arguments to main in C using Eclipse
- kernel module does not print packet info
- error C2016 (C requires that a struct or union has at least one member) and structs typedefs
- Drawing with ncurses, sockets and fork
- How to catch delay-import dll errors (missing dll or symbol) in MinGW(-w64)?
- Configured TTL for A record(s) backing CNAME records
- Allocating memory for pointers inside structures in functions
- Finding articulation point of undirected graph by DFS
- C first fgets() is being skipped while the second runs
- C std library don't appear to be linked in object file
Related Questions in DELPHI
- How to not load all database records in my TListbox in Firemonkey Delphi XE8
- How to catch WM_DEVICECHANGE in a control other than TForm?
- show information with Rolling / moving messages delphi xe7
- What is the different between "Console target" and "GUI target" in DCC32 option?
- How to add new online ressources to RAD Studio help system
- C# and Delphi code have different behaviour when importing unmanaged dll
- Loop through records on a cxgrid and update a field/column
- Delphi 7 - Save to a Specific .INI Files Name
- TImagelist for large images
- how to modify a function so it returns an array of strings
Related Questions in DLL
- C++ using std::vector across boundaries
- Linking to a static lib compiled with MSVC
- What are MATLAB DLLS?
- VC++ .net: Functionality from managed DLL is not exported
- DLL being marked as DELETEPENDING
- ASP.NET Web Forms give error while connecting to Oracle 11g
- Air Native Extensions: Released Air App w/Windows Native Extension works fine on develpment PC but not on other computers
- WiX and custom extensions for primary output?
- Using different versions of the same DLL in a project
- visual c++ - missing unrelated DLLs
Related Questions in HEADER-FILES
- llvm headers do not compile under msvc 2013
- How to add a c++ header file in "gedit" editor?
- Combine Fortran .for and .f90 include header files
- Internal vs External Include Guards
- when we define a class member function in header file of that class then inline keyword must be used. why?
- What's the benefit for a C source file include its own header file
- How to share same header files between kernel modules and userspace applications.
- Missing headers for kernel in bzImage loaded on qemu
- How to access a variable which is declare in namespace into another cpp file
- Header file included only once in entire program?
Related Questions in STDCALL
- Call MASM function in StdCall convention
- Why isn't PInvoke crashing in case of violated calling convention (in .NET 3.5)?
- What is better to declare for calling convention of Windows program?
- Howto create C-Header for Delphi/Free Pascal/Lazarus DLL - data types
- Error converting void(__cdecl MyClass::*)() to void *
- Pattern of component with callback system with stdcall calling convention
- What is the correct callback signature for a function called using ctypes in python?
- compile errors log4cxx with __stdcall and Boost 1.47.0
- how to use assembly to get the result of a __stdcall function that returns float
- error C2143: syntax error : missing ';' before '__stdcall"
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Popular Tags
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
I have used the below construct to generate header files compatible with the C-mode compiler of Visual C++ 6 from Delphi 5 code when Delphi had the -JPH switch (see notes below).
Note that I have not used this since Delphi 5, but the switch has since then been expanded:
Somewhere along the line, the JPHNE switch has been added to the
dcc32command-line compiler:Rudy Velthuis has a nice article using the JPHNE switch.
It certainly does not handle all types, and you will need quite a bit of HPPEMIT and EXTERNALSYM directives.
I uploaded my Delphi 5 to Visual C++ 6 HPP conversion from back then to BitBucket.
It generates the .hpp files to import the DLL that was written in Delphi.
Notes from the Delphi 5 era: