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

    [VB6] Oggetto event che non funziona

    Buongiorno a Tutti,
    mi chiamo Igor Piero Prato e sono nuovo del forum e del linguaggio VB6.

    Ho un piccolo problema, per utilizzare un'applicazione devo usare una classe nella quale sono definite diverse function e anche degli event. Nessun problema sull'uso delle varie function ma non riesco invece ad utilizzare uno degli event.

    In pratica io definisco in testa al programma di voler utilizzare tale classe

    "Public WithEvents g As Galil.Galil"

    poi nel form load definisco

    " Set g = New Galil.Galil"

    e ne uso le funzioni.

    Per poter usare l'event invece mi dichiaro una sub a parte

    "Public Sub g_onMessage(ByVal Message As String)"

    ma in quella sub non ci arriva mai anche se so che l'evento da controllare è arrivato (o meglio con il tool della scheda assi funziona)

    Avete qualche suggerimento da darmi?

    Ringraziandovi anticipatamente vi auguro di trascorrere una buona giornata

    Igor Piero Prato

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma la Public WithEvents la inserisci in un form o in un modulo?

    Se la inserisci nel form non devi usare la New, dovresti trovare l'oggetto nell'elenco con i suoi eventi.

    E' possibile scaricare questa dll?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Grazie per la risposta velocissima.

    La Public WithEvents la inserisco nella form, ho trovato l'esempio sul fito della Galil (stiamo usando una scheda DMC 30011), poi ci sono degli esempi nell'HelloGalil ma credo occorra avere la scheda per poter provare.

    Io l'ho scaricata da lì, a dire il vero non so se la installi automaticamente installando il GalilTool o scaricando la win32.dll perchè ho fatto miliardi di prove e alla fine non so bene quali siano stati i passi che mi hanno portato a questo punto.

  4. #4
    Vi posto l'esempio tyrovato da me leggermente modificato

    Option Explicit

    Public WithEvents g As Galil.Galil

    Private Sub Form_Load()

    Dim Reponse As String
    Dim i As Integer

    On Error GoTo ErrorHandler


    Set g = New Galil.Galil
    i = 0
    g.address = "COM1 115.200"
    g.Command ("CF S")
    Label1.Caption = "Connected to: " + g.connection + vbCrLf
    Label1.Caption = Label1.Caption + g.libraryVersion + vbCrLf
    Label1.Caption = Label1.Caption + "MG TIME " + g.Command("MGTIME") + vbCrLf

    g.Command ("PA 300 ")


    g.Command ("BG")
    g.Command ("MG1")
    Label1.Caption = Label1.Caption + g.Command("PA ?")
    ' DoEvents onMessage(Reponse)
    ' If Val(Reponse) = 1 Then
    ' + i = i + 1
    ' End If


    Exit Sub
    ErrorHandler:
    MsgBox (Error)
    Exit Sub
    End Sub

    Public Sub g_onMessage(ByVal message As String)

    'RaiseEvent onMessage(Message)
    Label1.Caption = Label1.Caption + message
    End Sub

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Scusa ... ripeto la domanda ... dove posso scaricare la DLL per provarla? Hai un link?

    Probabilmente è contenuta in un file

    LibGalilRedist-1.6.4.552.zip

    In ogni caso, dovresti provare a fare nella Load l'inizializzazione e provare a dialogare magari nell'evento click di un button
    Ultima modifica di oregon; 09-05-2014 a 11:43
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Ha ragione, mi scusi.

    il sito dove ho scaricato HelloGalil è http://www.galilmc.com/learning/hellogalil.php

  7. #7
    Naturalmente poi ho scaricato quella relativa al VB6.

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Nessun problema ... purtroppo è necessaria la registrazione e quindi non posso scaricarla.

    Comunque, in un nuovo form di VB6, aggiungendo solo la linea

    Public WithEvents g As Galil.Galil

    dovresti trovare nell'elenco degli oggetti in alto a sinistra proprio l'oggetto

    g

    e una volta selezionato, nell'elenco a destra, i suoi eventi, tra cui devi selezionare l'onMessage.

    E' così ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Sono ancora proprio neofita di sto VB6..quella chicceria degli oggetti in alto a dx non l'avevo ancora capita

    Comunque si ho l'oggetto G in alto a DX e selezionando l'evento on message mi appare in coda al listato la funzione.

  10. #10
    Le prove da me fatte consistevano nello scrivere in un label della form, ho provato a mettere un break point in quella function ma tanto non ci entra lo stesso.

    Potrebbe essere un proble ma della comunicazione seriale

    Però con il suo tool funziona, praticamente sto on message sarebbe una funzione che mi legge dalla seriale i messaggi che arrivano senza una specifica richiesta, ad esempio dopo che il motore si ferma perchè ha completato il movimento far mandare questo messaggio al pc per poter fare altre operazioni (la scheda di controllo assi ha anche dei segnali settabili in logica TTL mentre la nostra scheda di acquisizione dei DIO è a 24 Volts)

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.