Utilizzo ACTIVEX in FWH

Moderator: Enrico Maria Giordano

Post Reply
User avatar
max
Posts: 122
Joined: Fri Jun 30, 2006 2:14 pm
Location: Ancona - Italy

Utilizzo ACTIVEX in FWH

Post by max »

In Visual Basic, precisamente nell'ambiente di sviluppo macro di Excel, ho un controllo activex impostato e funzionante in questo modo:

Code: Select all

Sub loadcobol()
  euro09 = "C:\092p6x4demo\euro09"
  euro09cfg = "C:\092p6x4demo\etc\cblcon34.sml"
  euro09ocx = euro09 & "\p\z9ocx"
  euro09az = euro09 & "\demop5"
  UTENTE = "MICHELE"

  Set cobolapp = New AcuGT
  cobolapp.Initialize ("-c " & euro09cfg)
  
  z9passwd = " "
  cobolapp.Call euro09ocx, "AUT", UTENTE, z9passwd, euro09az
End Sub
L'activex che mi interessa attivare è l'ACUGT, ed in sintesi i due controlli activex che vengono lanciati in esecuzione sono il cobolapp.initialize e il cobolapp.call , con il passaggio di alcuni parametri.
Come posso tradurre il tutto in FWH? Ho fatto qualche tentativo ma senza successo...
Un'altra domanda: come si può vedere l'elenco degli activex esistenti attivi e richiamabili in un pc? C'è una qualche utility che li elenca?
grazie.
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Re: Utilizzo ACTIVEX in FWH

Post by Enrico Maria Giordano »

Cosa succede se scrivi semplicemente

Code: Select all

#include "Fivewin.ch"


FUNCTION MAIN()

    LOCAL oAcuGT := CREATEOBJECT( "AcuGT" )

    RETURN NIL
?

EMG
User avatar
max
Posts: 122
Joined: Fri Jun 30, 2006 2:14 pm
Location: Ancona - Italy

Post by max »

quando mando in esecuzione ricevo questo errore:

Application
===========
Path and name: W:\FWH\samples\EU092.EXE (32 bits)
Size: 1,374,720 bytes
Time from start: 0 hours 0 mins 0 secs
Error occurred at: 10/30/08, 09:38:23
Error description: Error TOleAuto/-1 CO_E_CLASSSTRING: TOLEAUTO:NEW
Args:
[ 1] = C AcuGT

Stack Calls
===========
Called from: => THROW(0)
Called from: win32ole.prg => TOLEAUTO:NEW(331)
Called from: win32ole.prg => CREATEOBJECT(73)
Called from: EU092.prg => MAIN(7)
User avatar
max
Posts: 122
Joined: Fri Jun 30, 2006 2:14 pm
Location: Ancona - Italy

Post by max »

Quando nell'ambiente macro visual basic di excel scrivo "ACUGT." , dopo che ho messo il punto mi compare automaticamente una combobox con alcune funzioni come "initialize" , "call", ecc.ecc...

non so se questa info può essere utile o meno, te la passo così com'è...
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Post by Enrico Maria Giordano »

E scrivendo

Code: Select all

#include "Fivewin.ch"


FUNCTION MAIN()

    LOCAL oAcuGT := TActiveX():New( oWnd, "AcuGT" )

    RETURN NIL
?

EMG
User avatar
max
Posts: 122
Joined: Fri Jun 30, 2006 2:14 pm
Location: Ancona - Italy

Post by max »

Ricevo questo errore:

Error description: Error BASE/1004 Class: 'NIL' has no exported method: HWND
Args:
[ 1] = U

Stack Calls
===========
Called from: => HWND(0)
Called from: ACTIVEX.PRG => TACTIVEX:NEW(0)
Called from: EU092.prg => MAIN(7)
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Post by Enrico Maria Giordano »

Uff, ma ti devo proprio dire tutto?

Code: Select all

#include "Fivewin.ch"


FUNCTION MAIN()

    LOCAL oWnd, oAcuGT

    DEFINE WINDOW oWnd

    oAcuGT = TActiveX():New( oWnd, "AcuGT" )

    ACTIVATE WINDOW oWnd

    RETURN NIL
Impara a cercare nella cartella samples.

EMG
User avatar
max
Posts: 122
Joined: Fri Jun 30, 2006 2:14 pm
Location: Ancona - Italy

Post by max »

Ho già cercato, trovato, studiato e tentato di mio quanto ho trovato in fwh\samples .
Pigro sì, ma fino a un certo punto. Non mi piace rompere le scatole inutilmente al prossimo.
E' che come sai sono agli inizi con FWH e quindi ancora non mi fido molto di me stesso, tutto qua.

Tornando all'ultimo tentativo, ora quando lancio l'exe dopo qualche secondo ricevo una segnalazione di errore di explorer del tipo "invia segnalazione" o "non inviare".
Servono dettagli o è inutile?
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Post by Enrico Maria Giordano »

A quanto pare "AcuGT" non è né un server OLE né un ActiveX. Oltre quei due tentativi non so proprio che altro proporti.

EMG
User avatar
max
Posts: 122
Joined: Fri Jun 30, 2006 2:14 pm
Location: Ancona - Italy

Post by max »

Ok, pazienza. A questo punto chiederò maggiori lumi a chi ha eseguito la macro su Excel visto che lì funziona.
Ma un comando/utility di sistema o di terzi per avere un elenco degli activex utilizzabili su un pc esiste?
User avatar
max
Posts: 122
Joined: Fri Jun 30, 2006 2:14 pm
Location: Ancona - Italy

Post by max »

Ad esempio: in WEBEXP.PRG ho notato che c'è uno "Shell.Explorer" che funziona.
Mi domando: come si fa a sapere che esiste il controllo activex "shell.explorer"? E che posso usare il "navigate" per andare ad una certa pagina o il "go home" per aprire la pagina iniziale?

E perché invece in EXCEL.PRG l'activex "OWC11.Spreadsheet" non mi funziona? Intuisco che occorre forse dare i riferimenti della giusta versione di office che ho su (2007) e in effetti la riga di comando lo dice, ma dove li trovo ?
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Post by Enrico Maria Giordano »

max wrote:Ok, pazienza. A questo punto chiederò maggiori lumi a chi ha eseguito la macro su Excel visto che lì funziona.
Ma un comando/utility di sistema o di terzi per avere un elenco degli activex utilizzabili su un pc esiste?
Sì, ne ho visto qualcuno in passato ma non mi ha mai soddisfatto (e non so dartene i riferimenti).

EMG
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Post by Enrico Maria Giordano »

max wrote:Mi domando: come si fa a sapere che esiste il controllo activex "shell.explorer"? E che posso usare il "navigate" per andare ad una certa pagina o il "go home" per aprire la pagina iniziale?

E perché invece in EXCEL.PRG l'activex "OWC11.Spreadsheet" non mi funziona? Intuisco che occorre forse dare i riferimenti della giusta versione di office che ho su (2007) e in effetti la riga di comando lo dice, ma dove li trovo ?
Per gli ActiveX è come per gli OLE, ogni oggetto è storia a sé e richiede la propria documentazione per poter essere utilizzato.

EMG
Post Reply