Solved

Problems picking proper type when calling DLL

Posted on 2000-04-11
1
146 Views
Last Modified: 2010-04-04
I'm calling a C++Builder DLL from Delphi.  The function I'm calling returns a value of type 'char*'.  In the import unit I made in Delphi, I have the type as 'PChar'.  When I run the Delphi executable, I get an access error.

I modified the import unit so that the type is 'string' and ran it again.  This time no access error, but nothing returns.
0
Comment
Question by:uhoang
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
1 Comment
 
LVL 13

Accepted Solution

by:
Epsylon earned 50 total points
ID: 2705373
Using  'string' won't work. PChar should be right. Try to put 'cdecl' in the declaration in the import unit:

function SomeFunction(param: sometype): PChar; cdecl; external 'some.dll';

If this doesn't help try other directive too (stdcall, register, etc).
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
Introduction I have seen many questions in this Delphi topic area where queries in threads are needed or suggested. I know bumped into a similar need. This article will address some of the concepts when dealing with a multithreaded delphi database…
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

730 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question