![]() |
AW: IInterface Delphi vs VSC
Zitat:
gruss |
AW: IInterface Delphi vs VSC
In Windows (C) können Interfaces scheinbar auch ohne, aber Delphi geht davon aus, dass Interfaces immer mindestens IInterface implementieren. (es wird halt für die automatische Speicherverwaltung verwendet)
|
AW: IInterface Delphi vs VSC
Zitat:
Delphi-Quellcode:
,
_AddRef
Delphi-Quellcode:
und
_Release
Delphi-Quellcode:
bereitstellen.
QueryInterface
Zu beachten ist, dass es unter C++ KEINE automatische Speicherverwaltung gibt. Sprich:
Delphi-Quellcode:
und
_AddRef
Delphi-Quellcode:
muss manuell aufgerufen werden (oder man verwendet den ComPtr). Aber das sollte bei dir keine Probleme machen, da die Implementierung ja in Delphi ist.
_Release
|
AW: IInterface Delphi vs VSC
Zitat:
Darauf wollte ich hinaus ;) gruss |
AW: IInterface Delphi vs VSC
Wenn du es als COM-Interface mit Delphi teilen willst, dann sollte es mit rein. (falls es nicht schon aus einem Vorfahren verwerbt wird)
|
AW: IInterface Delphi vs VSC
Zitat:
|
AW: IInterface Delphi vs VSC
Zitat:
Code:
IUnknown wird von Delphi zurück gegeben.
struct TStreamInfo {
TStreamType streamType; AM_MEDIA_TYPE ppmt; unsigned int pdwFlags; unsigned int plcid; unsigned int pdwGroup; wchar_t* ppszName; IUnknown **ppObject; IUnknown **ppUnk; };
Code:
gruss
BOOL KVIDEOPLAYERDEF(KVideo_GetStreamInfo)(TStreamType StreamType, DWORD index, TStreamInfo OUT StreamInfo);
// Gets informatio for the specified stream // ( parameter ) // - StreamType : type of stream (stAudio, stVideo, stMiscellaneous) // - index : number of rank (first stream = 0) // - StreamInfo : pointer to a TStreamInfo variable // ( result // - true on success, false on failure |
AW: IInterface Delphi vs VSC
Die Frage ist: was machst du mit den beiden IUnknown-Feldern? Solange du die nicht verwendest, sollte es wohl egal sein.
|
AW: IInterface Delphi vs VSC
Zitat:
Und das würde ich später zum vergleich auch in C++ tun.
Delphi-Quellcode:
for i := 0 to aMediaProperty.NumVideoStream - 1 do
begin KVideo_GetStreamInfo(stVideo, i, StreamInfo); menu := TMenuItem.Create(Self); menu.Caption := StreamInfo.ppszName; menu.RadioItem := true; if i = 0 then menu.Checked := true; menu.Tag := i; menu.OnClick := menuVideoStreamClick; menuSelectVideo.Add(menu); end;
Code:
werden dabei aber nicht direkt angesprochen.
IUnknown **ppObject;
IUnknown **ppUnk; gruss |
AW: IInterface Delphi vs VSC
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:19 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 by Thomas Breitkreuz