none
instanza com gia avviata RRS feed

  • Domanda

  • ciao.

    Ho un applicazione che si aggancia ad un instanza di un server com se è gia avviato , mentre lancia l'applicazione del server com se non ci sono istanze di applicazione.

    Fino ad adesso ho risolto con :

    m_hSapWnd = ::FindWindow(CLASS_NAME, NULL) dove class name è una stringa col nome della classe della finestra principale trovato con l'applicazione spy di visual studio, se m_hSapWnd è NULL non ci sono istanze , metre se ha un valore valido l'istanza è gia avviata.

    Il problema è che questo metodo è troppo insicuro e poco valido :se l'applicazione cambia o se cambia il nome della classe del applicativo sulla macchina dove è installata(magari per una versione diversa)fallisce.

    Esiste un metodo piu sicuro?

    magari qualcosa con com?

    mercoledì 14 settembre 2011 09:15

Tutte le risposte

  • ho letto un po su google ed ho scoperto che esisteste una tabella rot che ha un elenco di tutte le istanze com avviate.

    Ho letto anche di un trucchetto per cambiare il focus dall' applicazione com instanziata all applicazione attuale per consentire il caricamento dell' oggetto com in questa tabella.

    premetto che ho provato ad utilizzare getactiveobject per vedere se c'è un instanza del server com a cui mi connetto , ma niente , mi ritorna sempre un errore operazione non supportata o qualcosa del genere , comunque non sono riuscito nello scopo.

    Ho visto anche che esistono delle funzioni per registrare un oggetto com nella rot , ma non ho bene capito il funzionamento , devo farlo a mano io ?

    lo deve fare chi crea un server com ?

    e in cosa consiste?

     

    insomma ho le idee un po confuse.

    grazie

    mercoledì 14 settembre 2011 12:28