27-01-2021, Saat: 17:08
(Son Düzenleme: 27-01-2021, Saat: 17:37, Düzenleyen: Mr.Developer.)
Selam arkadaşlar.
Delphi' de oluşturulmuş bir dll' i C# içinde kullanıp, ondan string değer dönmek istediğimde C# da yazdığım program çakılıyor. Örneğin boolean tipinde parametre dönmekte sorun yaşamıyorum. String ve WideString olarak denedim, sonuç değişmedi.
String dönmenin pratik bir yolu var mı ? Deklerasyon ve kullanım şeklim aşağıdaki gibi ...
Delphi kodu :
C# Deklerasyon :
C# Kullanım :
Delphi' de oluşturulmuş bir dll' i C# içinde kullanıp, ondan string değer dönmek istediğimde C# da yazdığım program çakılıyor. Örneğin boolean tipinde parametre dönmekte sorun yaşamıyorum. String ve WideString olarak denedim, sonuç değişmedi.
String dönmenin pratik bir yolu var mı ? Deklerasyon ve kullanım şeklim aşağıdaki gibi ...
Delphi kodu :
function fn_Test(out _bDosyaYok : Boolean; out _sSonucMesaji : WideString) : Boolean; cdecl; Begin Result := True; _bDosyaYok := True; _sSonucMesaji := 'ABCĞÜŞİÖÇ'; End;
C# Deklerasyon :
[DllImport("Test.dll", EntryPoint = "fn_Test", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
private static extern Boolean fn_Test(out Boolean _bDosyaYok, [MarshalAs(UnmanagedType.LPStr)] out String _sSonucMesaji);
C# Kullanım :
Boolean bDosyaYok = false; String sSonucMesaji = ""; fn_Test(out bDosyaYok, out sSonucMesaji);
Hiçbir mal sizin değil, neyi bölüşemiyorsunuz ?
Hiçbir can sizin değil, niye dövüşüyorsunuz ?
Hz. Mevlana

