Zitat:
Dort kopierst du den Text von unmanaged zu managed und gibst den unmanaged Speicher direkt frei.
Beispiel?
Ich denke du meinst das so.
Delphi-Quellcode:
function TEVMRPlayer.GetYoutubeFilterTitle(var Title: PWideChar): HRESULT;
var
MediaContent: IAMMediaContent;
pTitle: PWideChar;
begin
Result := E_FAIL;
if not Assigned(srcFilter) then
exit;
if IsUrl then
begin
if DYDYoutubeFilter <> nil then
begin
srcFilter.QueryInterface(IID_IAMMediaContent, MediaContent);
Result := MediaContent.get_Title(pTitle);
Title := pTitle;
pTitle := nil;
if not SUCCEEDED(Result) then
ReportError('YoutubeFilterTitle fails', Result);
end;
end;
end;
Zitat:
(von dem Pointer in einen string)
Der soll PWideChar bleiben.
Zitat:
Dann ist der Titel Implementation von IAMMediaContent etwas irreführend.
geändert..
gruss