C# do Delphi

0

Wysyłam dane w C# poprzez dll (API) do programu stworzonego w delphi. (dll też w delphi wykonana) Dane (string) niby odbiera ale ciągle mam problem z kodowaniem tekstu.
(Funkcja ta z dll przyjmuje jako parametr PChar)

Problem jest taki że zależnie od tego jak próbuję zmieniać kodowanie to albo mam zamiast polskich liter "?" albo odpowiedniki bez ogonków (tylko "ó" jest dobrze)
Próbowałem konwertować z Unicode do ASCI.

Proszę o pomoc.

0
  1. jaka wersja Delphi? (jest poważna różnica między Delphi 2009/2010 a wcześniejszymi)

  2. kod, Kod, KOD!

‌ ‌‌‌‌‌‌‌‌ user image

library test;

uses Windows;

procedure CoDelphiPowiadaAnsi(str:pansichar); stdcall;
begin
  MessageBoxA(0,str,'Delphi powiada w ANSI',0);
end;

procedure CoDelphiPowiadaUnicode(str:pwidechar); stdcall;
begin
  MessageBoxW(0,str,'Delphi powiada w Unicode',0);
end;

exports
  CoDelphiPowiadaAnsi,
  CoDelphiPowiadaUnicode;

end.

using System.Windows.Forms;
using System.Runtime.InteropServices;

class Program
{
 [DllImport("test.dll", CharSet=CharSet.Ansi)]
 public static extern void CoDelphiPowiadaAnsi(string str);

 [DllImport("test.dll", CharSet=CharSet.Unicode)]
 public static extern void CoDelphiPowiadaUnicode(string str);

 static void Main()
 {
   string str="zażółć gęślą jaźń";
   MessageBox.Show(str, "C# powiada");
   CoDelphiPowiadaAnsi(str);
   CoDelphiPowiadaUnicode(str);
 }
};

0

dzięki, już udało się rozwiązać problem ;]

1 użytkowników online, w tym zalogowanych: 0, gości: 1