Odczyt bajtów z funkcji zwracającej TBytes

0

Mam funkcje w dll pisane Delphi i ona zwraca typ TBytes (dane zakodowane poprzez MessagePack)

I teraz w żaden sposób nie mogę tych danych odczytać.
I nawet nie chodzi o ich odkodowanie.
Ja nie mogę ich zwrócić z tej funkcji.

private const string ApiDllName = "Dll_GetTableFields.dll";



 [DllImport(ApiDllName)]
  public static extern byte[] GetTableFieldsMessagePack(parametry_funkcji);
 byte[] bytes = GetTableFieldsMessagePack(parametry);

do innych funkcji w tej dll wchodzi a do tej mojej nie wchodzi.
Od razu zwraca błąd 

Cannot marshal 'return value': Invalid managed/unmanaged type combination.

Macie jakieś pomysły jak zwrócić tablicę bajtów

0

@My Razem:

To nie to, ze "nie można odczytać", tylko masz bład kompilacji.

Chcesz pomocy, daj szerszy kod.

0

ale co ja mam więcej podać. Cała magia dzieje się po stronie dll
Ja tylko ją wywołuję i chcę pobrać to co ona zwraca...

Źle ją wywołuję? Inne funkcje działają. Tutaj jest problem z tym zwracanym typem.

1

i oczywiście szukałeś i oczywiście nigdzie nie było...
https://www.google.com/search?q=delphi+dll+return+array

0

Owszem, już dwa dni przeszukuję różne strony.
I jakbym znalazł coś co działa, to bym tu nie pisał.

0

no przecież masz odpowiedź (a właściwie to przykład jak należy zwracać tablicę z dll) w pierwszym linku z googla 🤦 - w wielkim skrócie - po twojemu się nie da - trzeba zrobić po bożemu

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