Einzelnen Beitrag anzeigen

MacGyver2k

Registriert seit: 21. Mär 2009
5 Beiträge
 
#12

Re: WideString aus C++ DLL-Methode an Delphi-Host zurückgebe

  Alt 14. Jul 2009, 22:43
So nun hab ich alles gelesen und habe auch einiges davon ausprobiert. Leider funktioniert es immernoch nicht.
Zunächst muss ich leider sagen, dass die meisten Vorschläge auf Änderungen am Delphi Code hinauslaufen.
Ich habe leider nicht extra erwähnt, dass ich den Delphi Code zwar habe, ihn aber nicht abändern kann. Würde wohl auch mit bestehenden Plugins ins Gehege kommen.
Es geht auch wirklich ausschließlich daraum, wie ich den String aus C/C++ an Delphi zurückgebe. Denn Stringparameter von Delphi nach C kommen ohne probleme an.

Ich hab nun mal alles möglich eingebaut, was nur irgendwie sinnvoll scheint.
Dabei haben mich die Hinweise von himitsu am meisten inspiriert.
Außerdem habe ich auch wie Apollonius schrieb, mal das mit dem versteckten Parameter probiert.
Es kommt wie gesagt immernoch nichts raus.

Code:
DECLDIR LPCWSTR EXTP_GetPlugInName( LPCWSTR result )
{         
LPWSTR buffer = NULL;
int size = MultiByteToWideChar( CP_ACP, 0, "MyPluginName", -1, NULL, 0 );
buffer = (WCHAR*) malloc( sizeof( WCHAR ) * size );
MultiByteToWideChar( CP_ACP, 0, "MyPluginName", -1, buffer, size );
result = SysAllocStringLen( buffer, size );
return result;
//return PlugIn.GetPlugInName();
}
ich bin echt so langsam am verzweifeln
  Mit Zitat antworten Zitat