Visualizzazione dei risultati da 1 a 2 su 2

Discussione: PHP e utilizzo OCX

  1. #1

    PHP e utilizzo OCX

    Salve, devo sviluppare un gestionale che prevede la stampa su stampanti fiscali Olivetti.
    Sono ancora in fase embrionale e sto verificando i problemi connessi all'uso di PHP.
    Mi sono arenato nella gestione di ELAMANAGER (programmino di scambio dati tra software proprietario e stampanti fiscali di Olivetti).
    La olivetti fornisce un'OCX che permette di interfacciarsi con ELAMANAGER ed inviare informazioni alla stampante fiscale.
    Spulciando in rete ho trovato vari esempi per utilizzare file OCX da PHP.
    Ecco quello che ho trovato:

    codice:
    //create an instance of Windows Media Player $mp = new COM("WMPlayer.OCX"); //ejects the first cd-rom on the drive list $mp->cdromcollection->item(0)->eject(); $mp->quit();
    e anche

    codice:
    // istanziamo l'oggetto COM $output = new COM("powerpoint.application");  // creiamo la presentazione $ppt = $output->Presentations->Add();    // inseriamo un prima slide il valore 12 indica che sarà vuota $ppt->Slides->Add(1,12);    // inseriamo una seconda slide il valore 10 indica che presenterà contenuti $ppt->Slides->Add(2,10);    // inserimo un box per il testo $ppt->Slides[1]->Shapes->AddTextbox(1,20,50,300,40);    // salviamo il documento $output->Presentations[1]->SaveAs("C:\PHP.ppt");    // liberiamo le risorse $output->quit();
    Sulla falsa riga di questi esempi sempre utilizzando l'oggetto COM ho tentato di utilizzare il mio OCX con questo codice:

    codice:
    //create an instance of Windows Media Player $ela = new COM("ELAMI.ocx"); //ejects the first cd-rom on the drive list //$mp->cdromcollection->item(0)->eject();  //Private Sub AskInfo_Click()  echo "Versioni: ". $ela.MainForm.ELAMIControl.GetReleaseInfo(ClientRelease) ." 
     ". ela.MainForm.ELAMIControl.GetReleaseInfo(ServerRelease);  $ela->quit();
    Ma ottengo solamente questo risultato:

    codice:
    Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `ELAMI' in C:\Documents and Settings\Utente\Documenti\Dropbox\gestionale\pagine\prova_activx_ELAMI.php on line 3 ( ! ) com_exception: Failed to create COM object `ELAMI': Sintassi non valida. in C:\Documents and Settings\Utente\Documenti\Dropbox\gestionale\pagine\prova_activx_ELAMI.php on line 3
    Ho regolarmente registrato il file OCX con il comando REGSRV32.exe

    Qualcuno ha mai provato a sviluppare qualcosa in PHP interfacciandosi con ELAMANAGER?
    Oppure avete qualche idea su come fare?

    Se necessario posto allegare la libreria ed alcuni esempi di codice (sono in Vb e quindi vanno "tradotti") per utilizzare la libreria.

    Grazie a tutti.
    chicone

  2. #2
    Ho risolto il problema dell'inizializzazione, ho trovato il nome dell'OCX e lo scrivo per chi si trovi nella mia stessa situazione:

    $ela = new COM("ELAMI.ELAMIControl");

    Ora mi trovo in difficoltà a "tradurre" il codice scritto per VB6 in modo che funzioni utilizzandolo da PHP con l'oggetto COM.

    Qualcuno può darmi qualche dritta?
    Per esempio ecco il codice di esempio per inviare del dati alla stampante fiscale:

    codice:
    Private Sub EseguiFileDiScambio(NomeFile As String) Dim rtOp As Long, FileName As String Dim Idx As Integer If (NomeFile = “”) Then Exit Sub End If ‘Dal nome del file completo del Path ricavo il solo nome, per FileName = NomeFile Do Idx = InStr(FileName, "\") If (Idx) Then FileName = Mid$(FileName, Idx + 1) End If Loop While (Idx) ‘Prima viene inviato il file nella cartella di input con l’apposito metodo e solo se l’invio ‘ha successo viene avviata l’elaborazione passando come parametro del metodo ‘Execute il solo nome del file rtOp = ELAMIControl.SendFileToINFolder(NomeFile) If (rtOp) Then MsgBox "Errore:" & CStr(rtOp) & " ,nell'invio del file nella cartella FolderInput", _ vbOKOnly + vbExclamation, "Metodo SendFileToINFolder" Exit Sub End If JobID = ELAMIControl.Execute(FileName) If (JobID = 0) Then MsgBox “Errore nell’avvio dell’esecuzione del lavoro. File di scambio non elaborato” End If End Sub
    Grazie ancora.
    chicone

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