AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Verwenden von IAMMediaContent
Thema durchsuchen
Ansicht
Themen-Optionen

Verwenden von IAMMediaContent

Ein Thema von EWeiss · begonnen am 5. Okt 2018 · letzter Beitrag vom 6. Okt 2018
Antwort Antwort
Seite 3 von 3     123   
EWeiss
(Gast)

n/a Beiträge
 
#21

AW: Verwenden von IAMMediaContent

  Alt 6. Okt 2018, 09: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 10:04 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#22

AW: Verwenden von IAMMediaContent

  Alt 6. Okt 2018, 10:07
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)
Damit ein Leser weiß das Du an der Stelle BSTR* von der API Namensgebung her benutzt hast.

Gratuliere zum Erfolg!
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#23

AW: Verwenden von IAMMediaContent

  Alt 6. Okt 2018, 10:13
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)
Damit ein Leser weiß das Du an der Stelle BSTR* von der API Namensgebung her benutzt hast.

Gratuliere zum Erfolg!
Ist aber nicht nötig denn es bleibt PWideChar deshalb definiere ich es so und fertig.

gruss
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#24

AW: Verwenden von IAMMediaContent

  Alt 6. Okt 2018, 10:22
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 out weil jeder Wert der in diese Methode hineinkommt niemals verwendet wird. Es macht keinen Unterschied hier einfach ein var 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 out Parameter.

Es gibt andere Methoden da ist es ein in/out Parameter, da verwende ich dann var und bei einem reinen in Parameter verwende ich 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
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#25

AW: Verwenden von IAMMediaContent

  Alt 6. Okt 2018, 10:31
Zitat:
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
Wenn du das so siehst.

Ä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

Geändert von EWeiss ( 6. Okt 2018 um 10:52 Uhr)
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#26

AW: Verwenden von IAMMediaContent

  Alt 6. Okt 2018, 11:21
Definitiv ist TBSTR nicht nötig.. ein unnötiges hin und her casten macht irgendwie keinen sinn.
Es wird nichts gecastet. Das ist Unwissenheit.
Zudem wenn die API als Ausgangsparameter var verwendet dann ist es für mich fraglich diesen nach out umzulegen.
Das sind zwei Paar Schuhe, habe ich auch im Prinzip erklärt, muss aber nicht jeder verstehen.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#27

AW: Verwenden von IAMMediaContent

  Alt 6. Okt 2018, 11:32
Zitat:
Es wird nichts gecastet. Das ist Unwissenheit.
Aber unterschiedliche variablen verwendet die am ende die gleiche Bedeutung haben.
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:
muss aber nicht jeder verstehen.
Zitat:
Muss ich alles ab nicken ohne selbst zu Denken?


Ok! Thema für mich erledigt.

Danke.

gruss

Geändert von EWeiss ( 6. Okt 2018 um 12:48 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz