PHP la funzione COM ed ELAMI, incompatibilità tra tipi.

chicone

Nuovo Utente
26 Ott 2011
3
0
0
Ho deciso di utilizzare la funzione COM per utilizzare una OCX in una pagina PHP.
Tra vari problemi sono riuscito a tirare giù il codice grazie a degli esempi forniti in VB6.
Mi sono però arenato su una cosa che sembra stupida, ma a cui non trovo soluzione.
Ecco un po di codice ed il problema:

//Inizializzo il tutto
$ela = new COM("ELAMI.ELAMIControl");
$ela->Initialize(1);


Fin qua tutto bene, inizializzo e con del codice che non sto a mettere per non complicare le cose riesco ad interagile con ELAMI
Poi quando devo eseguire il comando seguente...

$nome="Test-EJ.xml";
$ela->Execute($nome);


...mi da il seguente errore: com_exception: Parameter 0: Incompatibilità tra tipi.

Ora avendo prima provato il codice in VB6 so benissimo che si aspetta un parametro di tipo STRING ma non riesco a levarci le gambe...
Se qualcuno ha qualche idea gli sono molto grato!

Saluti
 

chicone

Nuovo Utente
26 Ott 2011
3
0
0
Cerco di aggiungere altre informazioni che spero siano utili per una soluzione:

spippolando su VB6 dove appunto funziona ho notato che se tolgo la dichiarazione del tipo di variabile al nome del file mi da lo stesso errore, quindi deduco che in qualche modo sia necessario passare una stringa e allo stesso tempo indicare che è una variabile di tipo stringa, solo che non so come fare in PHP dato che a quanto so non fa dichiarare le variabili.

Ecco il codice VB6 (tirato all'osso) che funziona:

Private Sub inizializza()

ELAMIControl.Initialize(2)

End Sub

Private Sub EseguiFileDiScambio(NomeFile As String)

FileName As String
FileName = NomeFile
ELAMIControl.Execute(FileName)

End Sub
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0

chicone

Nuovo Utente
26 Ott 2011
3
0
0
E' probabile che si tratti di un bug di PHP, prova a dare uno sguardo a questo 3D
Dunque, ho provato con scarsi risultati. Ho cercato parecchio in rete riguardo agli argomenti citati nel 3d ma niente.
In pratica se non ho capito male anche la non hanno risolto.
Comunque anche con questo codice ho l stesso errore (Incompatibilità tra tipi)

$nome="pagina.xml";
$nome= new Variant($nome,VT_BSTR);

$ela->Execute($nome);

Resto in attesa di altre dritte.
Ciao
 
Ultima modifica: