Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#21

AW: Verwenden von IAMMediaContent

  Alt 6. Okt 2018, 08:53
Emil, wenn Du keine Hilfe willst, warum fragst Du dann?
Bitte?
Muss ich alles ab nicken ohne selbst zu Denken?

Definitiv ist TBSTR nicht nötig.. ein unnötiges hin und her casten macht irgendwie keinen sinn.
Zudem wenn die API als Ausgangsparameter var verwendet dann ist es für mich fraglich diesen nach out umzulegen.

Das hat nichts mit Hilfe wollen mehr oder weniger zu tun.
Es wäre also sinnvoller gewesen wenn du mir daraufhin eine Antwort gegeben hättest anstelle mich hier zu maßregeln.

Also!
Frage 1 warum castet man hier von var nach out
Frage 2 welchen sinn macht die Definition TBSTR wenn es am ende doch PWideChar ist.. Es bleibt am ende gleich. (Nur eine frage der Namensgebung aber gleiche Funktionalität)

Vielleicht kannst du es beantworten.

Delphi-Quellcode:
function TEVMRPlayer.GetYoutubeFilterTitle(var Title: string): HRESULT;
var
   MediaContent: IAMMediaContent;
   pbstrTitle: PWideChar;
begin

   Result := E_FAIL;

   if not Assigned(srcFilter) then
     exit;

   if IsUrl then
   begin
     if Assigned(DYDYoutubeFilter) then
     begin
       srcFilter.QueryInterface(IID_IAMMediaContent, MediaContent);
       Result := MediaContent.get_Title(pbstrTitle);
       if not SUCCEEDED(Result) then
         ReportError('YoutubeFilterTitle fails', Result)
       else
         begin
           Title := pbstrTitle;
           SysFreeString(pbstrTitle);
         end;
     end;
   end;
end;
So geht es jetzt.
War IAMMediaContent doch nicht falsch
Nochmals Danke für den Hinweis auf das Speicherleck.

gruss

Geändert von EWeiss ( 6. Okt 2018 um 09:04 Uhr)
  Mit Zitat antworten Zitat