![]() |
PropertyPage laden Guid ist NULL
Ich versuche eine PropertyPage einer anderen DLL zu laden aber leider ist die caGUID NULL
Vielleicht schaut mal jemand drüber ? OleCreatePropertyFrame ist aus der MSDN
Code:
IBaseFilter *XySubFilter;
ISpecifyPropertyPages *XySubFilterPropertyPage; FILTER_INFO *FilterInfo; CAUUID *caGUID;
Code:
oops sorry hat sich erledigt.
HRESULT Show_XySubFilterPropertyPage()
{ if (!KVideo_GetXySubFilter(&XySubFilter)) { MessageBox(hMain, L"Library for sub title display (xySubFilter.dll) is not loaded.", L"Confirm", MB_OK); return 0; } HRESULT hr = XySubFilter->QueryInterface(IID_ISpecifyPropertyPages, (void **)&XySubFilterPropertyPage); if (SUCCEEDED(hr)) { // Den Namen vom Filter und Pointer einlesen XySubFilter->QueryFilterInfo(FilterInfo); IUnknown* pFilterUnk; XySubFilter->QueryInterface(IID_IUnknown, (void **)&pFilterUnk); XySubFilterPropertyPage->GetPages(caGUID); //XySubFilterPropertyPage->Release(); OleCreatePropertyFrame( hMain, // Parent window 0, 0, // Reserved FilterInfo->achName, // Caption for the dialog box 1, // Number of objects (just the filter) &pFilterUnk, // Array of object pointers. caGUID->cElems, // Number of property pages caGUID->pElems, // Array of property page CLSIDs 0, // Locale identifier 0, NULL); // Reserved pFilterUnk->Release(); FilterInfo->pGraph->Release(); CoTaskMemFree(caGUID->pElems); } return 1; } Das war falsch.
Code:
durften keine pointer sein.
CAUUID *caGUID;
FILTER_INFO *FilterInfo; so ist es korrekt falls es mal jemand anderes braucht.
Code:
IBaseFilter *XySubFilter;
ISpecifyPropertyPages *XySubFilterPropertyPage; FILTER_INFO FilterInfo; IUnknown *pFilterUnk; CAUUID caGUID;
Code:
gruss
HRESULT Show_XySubFilterPropertyPage()
{ if (!KVideo_GetXySubFilter(&XySubFilter)) { MessageBox(hMain, L"Library for sub title display (xySubFilter.dll) is not loaded.", L"Confirm", MB_OK); return 0; } HRESULT hr = XySubFilter->QueryInterface(IID_ISpecifyPropertyPages, (void **)&XySubFilterPropertyPage); if (SUCCEEDED(hr)) { // Den Namen vom Filter und Pointer einlesen XySubFilter->QueryFilterInfo(&FilterInfo); XySubFilter->QueryInterface(IID_IUnknown, (void **)&pFilterUnk); XySubFilterPropertyPage->GetPages(&caGUID); XySubFilterPropertyPage->Release(); // bin nicht sicher ob man es benötig habe es mal eingebaut. OleCreatePropertyFrame( hMain, // Parent window 0, 0, // Reserved FilterInfo.achName, // Caption for the dialog box 1, // Number of objects (just the filter) &pFilterUnk, // Array of object pointers. caGUID.cElems, // Number of property pages caGUID.pElems, // Array of property page CLSIDs 0, // Locale identifier 0, NULL); // Reserved pFilterUnk->Release(); FilterInfo.pGraph->Release(); CoTaskMemFree(caGUID.pElems); } return 1; } |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:37 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