Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [C++] IDBPromptInitialize::PromptDataSource

    Mi serve una mano a finire questa funzione:

    codice:
    IDBPromptInitialize*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;
    if(((IDataInitialize*)pIDBPromptInitialize)->GetInitializationString(pIUnknown,true,aaa)==S_OK){ qDebug()<<"ok3"<<aaa;
    }elseqDebug()<<"false3";
    pIUnknown->Release();
    }elseqDebug()<<"false";
    Mi serve ottenere la connection string in una stringa, chiamata aaa o come volete. Mi potete aiutare?

  2. #2
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Se la if non fallisce, credo sia:
    [code]
    if(((IDataInitialize*)pIDBPromptInitialize)->GetInitializationString(pIUnknown,true,aaa)==S_OK){
    qDebug()<<"ok3"<< *aaa;
    } // etc...
    [
    /code]
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  3. #3
    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:
    IDBPromptInitialize
    codice:
    *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.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.