Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    VB6 cast implicito stringa

    Ho un problema che di fatto non è legato a vb6 in quanto utilizzo una ocx tramite php ma da quel linguaggio non sono riuscito a risolvere il problema che ho e quindi provo a chiedere a qualcuno che sa di vb6:
    ricevo errore per tipo di dato non corretto se passo una variabile contenente del testo ad una funzione che richiede una stringa come tipo del valore passato.

    es:

    Private Sub EseguiFileDiScambio(NomeFile As String)

    FileName = NomeFile

    chiamata_funzione(FileName) //vuole per forza una stringa

    Con questo codice ricreo la mia situazione, cioè da PHP non posso specificare il tipo di file e quindi quando arriva il valore non lo riconosce come stringa.

    La mia domanda a questo punto è, posso in qualche modo, far si che implicitamente la variabile sia riconosciuta come stringa?

    lo so che in vb basta aggiungere prima del codice:

    Dim FileName As String

    e il gioco è fatto, ma come detto prima non posso in PHP.
    Io pensavo a qualche carattere speciale aggiunto in cima, non so.

    Grazie a tutti!!!
    chicone

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Devi spiegarti meglio perché non si capisce il problema ...


    P.S. Questa non è la sezione corretta per il VB6
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Mi scuso per l'errore, non avevo visto l'area vb.
    Cerco di chiarire il mio problema:
    ho una ocx di cui specifiche ma non il sorgente.
    La utilizzo in ambiente php e la riconosce.
    Purtroppo quando richiamo una funzione della libreria devo passare un valore di tipo stringa, ma da php questo non è possibile in quanto non si specifica il tipo delle variabili.
    A questo punto per ovviare al problema mi chiedevo se c'è un modo poco ortodosso in vb per passare un valore senza specificare che si tratta di una stringa ma facendo un modo che comunque sia riconosciuta come tale.
    Grazie dell'attenzione e mi scuso per la difficoltà a spiegare il problema, ma trattandosi di un argomento a metà php e metà vb6 cerco di semplificare il codice.
    chicone

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Quello che ancora non si capisce è se vuoi usare l'ocx da PHP o da VB6.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    La voglio usare da php tramite il comando COM, ma non volevo mettere troppa carne al fuoco e quindi ho preferito proporre un esempio in vb6 anche perchè in php non ho trovato soluzione e se non specifico il tipo di valore da lo stesso errore in vb6.
    Ma se preferisci posso mettere tutto il codice in php, nessun problema.
    chicone

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da chicone
    La voglio usare da php tramite il comando COM, ma non volevo mettere troppa carne al fuoco e quindi ho preferito proporre un esempio in vb6 anche perchè in php non ho trovato soluzione e se non specifico il tipo di valore da lo stesso errore in vb6.
    Ma se preferisci posso mettere tutto il codice in php, nessun problema.
    Sono più confuso di prima ... lascio la parola ai moderatori ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Effettivamente la problematica non è chiara.
    O meglio, non è chiaro il contesto: il problema riguarda del codice VB (cioè, hai del codice VB che non funziona) o riguarda codice PHP (cioè non riesci ad effettuare la chiamata da PHP nel modo corretto)?

    Nel secondo caso, chiaramente, non è questo il forum corretto e provvederò a spostare la discussione nel forum dedicato al linguaggio PHP.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  8. #8
    Dunque, ho già postato nel forum php perchè lavorando in quel linguaggio era ovvio provare prima a risolvere in quel modo.
    Non riuscendoci per problematiche irrisolvibili sto tentando di aggirare il problema lavorando in vb6.
    Quindi secondo me questa è la sezione giusta.
    Prescindiamo per un attimo tutto quello che è già stato scritto e ripartiamo da zero.

    Ho questo codice che funziona:

    public sub esegui_comando(nome_file as string)

    ELAMI.execute(nome_file)

    end sub

    ELAMI.execute vuole per forza una variabile di tipo stringa.

    Mettiamo il caso che io non possa passare una variabile di tipo stringa, c'è un modo diverso per fare in modo che una variabile sia riconosciuta come tale?

    Ecco un esempio di script che non funziona di sicuro:

    public sub esegui_comando(nome_file as string)

    dim variabile
    variabile=nome_file
    ELAMI.execute(variabile)

    end sub

    mentre funziona così modificato:

    public sub esegui_comando(nome_file as string)

    dim variabile as string
    variabile=nome_file
    ELAMI.execute(variabile)

    end sub

    (Fate conto che io non possa fare dim ... as string)
    chicone

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    In VB6 scrivi

    Dim variabile As String

    e funziona.

    Se non lo scrivi, in VB6 la variabile viene considerata di tipo Variant (sottotipo string) ma è diversa da quello che l'ocx si aspetta.

    E non se ne esce ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10
    Ok, grazie. Quindi visto che in questa direzione non se ne esce pensavo di fare in un altro modo. Faccio dellw prove e mi rifaccio vivo tra un po.
    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.