Non credo si possa agire su un programma esterno con Gambas, se questo non è costruito secondo le regole definite dal creatore del linguaggio.
Al più, puoi chiamarla sempre tramite SHELL, passandogli facilmente tutti i parametri che desideri, e il ritorno idem come sopra.
Non sò cosa vuoi fare, però una chiamata ad una DLL, piuttosto che al s.o., come tempi siamo allo stesso livello. L'unico collo di bottiglia sarebbe una serie di chiamate continue alla funzione esterna, che una DLL, in quanto già caricata in memoria alla prima chiamata, risponderebbe in modo più veloce.
Le possibilità per ovviare a questo sarebbero numerose, ma dipende da cosa vuoi fare.
Tanto per fare degli esempi:
- se devi codificare più stringhe nello stesso tempo, forse ti converrebbe costruirti uno scriptino esterno, anche tramite gambas (cosa abbastanza semplice da fare), che raccolga tutte queste stringhe e le passasse alla routine esterna tramite un loop (sempre nello script)
- alternativa potrebbe essere quella che il programma esterno (in C o altro linguaggio), si occupasse di leggere e codificare in loop tutte le stringhe, magari lette in blocco da un file di testo (sempre scritto da gambas).
- altre...