![]() |
AW: Verwenden von IAMMediaContent
Zitat:
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:
So geht es jetzt.
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; War IAMMediaContent doch nicht falsch ;) Nochmals Danke für den Hinweis auf das Speicherleck. gruss |
AW: Verwenden von IAMMediaContent
Zitat:
Gratuliere zum Erfolg! |
AW: Verwenden von IAMMediaContent
Zitat:
gruss |
AW: Verwenden von IAMMediaContent
Ich habe nicht behauptet das das Interface IAMMediaContent falsch ist, ich hatte es vermutet und diese Vermutung traf nicht zu. Dieses ist auch noch nachzulesen.
Die Definition des Interfaces verwendet TBSTR (Winapi.DirectShow9) und genau diesen Typen verwende ich dann auch. Mir egal ob das in der Konsequenz ein PWideChar ist. Und ob man TBSTR oder PWideChar verwendet ist pupsegal, und gecastet wird da gar nichts. Du verwendest auch ein HRESULT obwohl das eigentlich ein Cardinal ist. Warum? Eben, es ist das Gleiche. Wenn man den Code aber mit der API Beschreibung vergleicht trifft man auf diese Namensgebung und muss nicht immer hin- und herdenken. Darum arbeitet man mit einem Type-Alias. Ich nehme ein
Delphi-Quellcode:
weil jeder Wert der in diese Methode hineinkommt niemals verwendet wird. Es macht keinen Unterschied hier einfach ein
out
Delphi-Quellcode:
zu nehmen. Es geht nur darum dem Verwender der Methode mitzuteilen, das der Wert den er hier hineingibt nicht verwendet wird. Es ist also ein reiner
var
Delphi-Quellcode:
Parameter.
out
Es gibt andere Methoden da ist es ein in/out Parameter, da verwende ich dann
Delphi-Quellcode:
und bei einem reinen in Parameter verwende ich
var
Delphi-Quellcode:
.
const
Es gibt halt einen Unterschied zwischen kompiliert, funktioniert und formal korrekt. Ich bin halt pingelig und jeder darf seinen Anspruch weiter rauf oder runterschrauben wie es ihm beliebt. Von jemandem aus Unwissenheit über die formale Korrektheit anfurzen zu lassen möchte ich mir aber doch verbitten. Take it or leave it or frage freundlich nach |
AW: Verwenden von IAMMediaContent
Zitat:
Ändert aber nichts an meiner Auslegung egal wie du das sehen magst. Ich habe auch meine Eigenheiten und wenn du es als unwissend hinstellst das ich PWideChar verwende anstelle deines TBSTR damit kann ich leben aber es ändert nichts am Endresultat. Ob ich nun ein Ei koche, brate oder Roh esse es ist am ende ein Ei in welcher form auch immer. Das ist meine formale Korrektheit. Schwer empfindlich oder? PS: Das einige Leute immer direkt beleidigt spielen nur weil ich nicht alles übernehme so wie Sie es für richtig halten. gruss |
AW: Verwenden von IAMMediaContent
Zitat:
Zitat:
|
AW: Verwenden von IAMMediaContent
Zitat:
Vielleicht gefällt dir diese Aussage besser. Könnte aber sein das es auch wieder Unwissenheit ist. In meinen Kreisen nennt man das Pfennigfuchser. (Alles auf die Goldwaage legen). Wie man etwas benennt bleibt doch gleich verwende du deine Art und weise so etwas zu handhaben und ich die meine. Ich bin ja Dankbar für deine Hilfe das schließt aber nicht mit ein das ich alles, 1 zu 1 deiner Vorschläge übernehmen muss. Zitat:
Zitat:
Ok! Thema für mich erledigt. Danke. gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz