Call Delphi Dll From C#

SiamIT

Well-known member
Joined
Aug 3, 2021
Messages
53
Programming Experience
5-10
Greetings,

I am trying to using a Delphi dll in c# program..

here is the Delphi library code:
C#:
Expand Collapse Copy
library UnicodeToBijoy;

uses
  System.SysUtils,
  System.Classes,
  BanglaChars in 'BanglaChars.pas',
  clsUnicodeToBijoy2000 in 'clsUnicodeToBijoy2000.pas';

{$R *.res}

var
   baseClass : TUnicodeToBijoy2000;

function Uni2Bijoy(Const UniText: String): String; stdcall;
begin
  Result := baseClass.Convert(UniText);
end;

exports
  Uni2Bijoy;

begin
end.

the generated dll file is "UnicodeToBijoy.dll"

and here is the c# code
C#:
Expand Collapse Copy
        [DllImport(@"f:\Temp\NW\UnicodeToBijoy.dll")]
        public static extern string Uni2Bijoy(
            string UniText
            );

        private void Uni2BijoyButton_Click(object sender, EventArgs e)
        {
            string t = Uni2Bijoy("LoveYou");
        }

but when i execute the code, it throws following error
C#:
Expand Collapse Copy
Attempted to read or write protected memory. This is often an indication that other memory is corrupt.

any solution please?

thanks in advance

best regards
 
String marshalling is a suspect, search for "dllimport delphi string" and you should find some discussions and possible solutions for it.
 
Back
Top Bottom