Il problema è che dentro aaa ottengo solo una stringa vuota.
Credo ci sia qualcos'altro da fare. Ecco una funzione scritta in freepascal che dovrebbe funzionare:
http://www.swissdelphicenter.ch/en/showcode.php?id=2271
Con ciò che ho scritto, appare il wizard eseguendo
pIDBPromptInitialize->PromptDataSource()
codice:IDBPromptInitializecodice:*pIDBPromptInitialize; IUnknown*pIUnknown; CoCreateInstance(CLSID_DataLinks,NULL,CLSCTX_INPROC_SERVER,IID_IDBPromptInitialize,(LPVOID*)&pIDBPromptInitialize); if(pIDBPromptInitialize->PromptDataSource(NULL,(HWND)this->winId(),DBPROMPTOPTIONS_PROPERTYSHEET,0,NULL,NULL,IID_IUnknown,(IUnknown**)&pIUnknown)==S_OK) { LPOLESTR*aaa; La riga seguente credo sia errata. if(((IDataInitialize*)pIDBPromptInitialize)->GetInitializationString(pIUnknown,true,aaa)==S_OK) { qDebug()<<"ok3"<<aaa; } else qDebug()<<"false3"; pIUnknown->Release(); } elseqDebug()<<"false";
ma poi non riesco a catturare ciò che lo wizard ha prodotto.