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

    [delphi] Sos Client Server!

    Ciao a tutti, sono Giacomo
    sono al lavoro e mi hanno chiesto di sviluppare una cosa singolare per motivi di continuità... Migliorarla senza cambiare l'interfaccia.

    1. Creare un'applicazione che chiameremo LAUNCHER con una sessione (o Database component)a bordo collegata a un DB oracle. Con inserimento User ID password e Alias del DB. Con 10 pulsanti che chiamano 10 applicazioni diverse stand alone.

    2. Le applicazioni chiamate ad essere eseguite (.exe differenti dal LAUNCHER) non devono aprire nuove sessioni verso il DB ma servirsi di quella sul LAUNCHER... tutti i componenti dataset a bordo delle applicazioni "figlie" dovranno appoggiarsi al componente Database del LAUNCHER e gestire il DB che l'utente avrà scelto con le restrizioni di connessione e tutto il resto...

    Come faccio a usare un componente Database unico per tutti gli Exe del complesso di applicazioni chiamate da questo LAUNCHER?

    Sono stato chiaro?



    grazie in anticipo... sto impazzendo

    Giacomo

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Credo che la soluzione a questo problema non sia così immediata...

    Tuttavia, puoi tentare la creazione di un eseguibile che deve essere lanciato per aprire la connessione comune ed effettuare il login.

    Puoi creare un Mutex all'avvio del programma in modo che le applicazioni secondarie siano in grado di capire se il programma è in esecuzione oppure no.

    Successivamente, dovresti provvedere ad instaurare un colloquio (tramite componenti DDE, oppure con il messaggio WM_COPYDATA) tra le applicazioni secondarie e l'eseguibile primario, allo scopo di permettere al programma centrale di diffondere l'indirizzo del componente Connection istanziato.

    Tuttavia, non so se questa soluzione - presentata a livello puramente teorico - sia effettivamente realizzabile, poichè nei componenti Delphi esistono altri meccanismi che non verrebbero gestiti in questo modo. Inoltre, non è molto lecito accedere ai dati di un'altra applicazione senza che questi dati siano dichiaratamente pubblici.

    In presenza di una necessità di questo tipo, io modificherei le applicazioni tramutandole in plugin; il programma centrale apre la connessione e carica i plugin permettendo loro di sfruttare la connessione per svolgere i compiti per i quali sono stati progettati.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3

    mmmmm... :-)

    Mi sono documentato:
    umso componenti DOA per la connessione al db oracle... uno di questi è TOracleSession. La sessione. Colei che connette in concomitanza con il TOracleLogOn... Uno dei metodi è ExtProcShare... comprende la compilazione di una DLL ma non ho la minima dimestichezza con questo tipo di procedura...

    Non capisco molto bene l'help, non abbastanza da percepirne l'essenza. Qualcuno può spiegarmi come una DLL potrebbe aiutarmi in merito al mio problema (Vedi:condivisione di una sessione)... Magari un esempio semplice semplice giusto per capirne i fondamenti? Sull'Help c'è un esempio che ad ora per me è incomprensibile .

    Grazie per la tua risposta Alka e grazie in anticipo per quelle successive che spero arrivino :gren: .... mh mh mh lo spero tantoooo mh mh mh

    Giacomo

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Purtroppo, penso di non saperne abbastanza di Oracle e dei componenti che usi per stabilire se è corretto o no, ma soprattutto se è funzionale, le soluzioni che ti ho proposto.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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 © 2026 vBulletin Solutions, Inc. All rights reserved.