Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di grendy
    Registrato dal
    Aug 2003
    Messaggi
    338

    vb6 property get e let

    Salve a tutti.
    Sto cercando di aggiungere una nuova proprietà al mio ocx,
    vi posto il codice.
    codice:
    Public Property Get BStyle() As String
      BStyle = mStyle
    End Property
    
    Public Property Let BStyle(ByVal sNewValue As Integer)
      mStyle = sNewValue
      stile mStyle
    End Property
    dove mStyle è una variabile privata e stile è una sub anch'essa privata.
    Ed eccovi l'errore (a parte il fatto che non mi appare BStyle nella finestra delle proprietà)
    --------------------------------------------------------
    definition of property procedures for the same property ore inconsistent, or property procedure has an optional parameter, a ParamArray, or an invalid Set final parameter
    --------------------------------------------------------
    dov'è che sbaglio?
    «Sono le azioni che contano. I nostri pensieri, per quanto buoni possano essere, sono perle false fintanto che non vengono trasformati in azioni. Sii il cambiamento che vuoi vedere avvenire nel mondo». (Mahatma Gandhi)

  2. #2
    Utente di HTML.it L'avatar di grendy
    Registrato dal
    Aug 2003
    Messaggi
    338
    il messaggio di errore non esce piu'
    avevo scritto
    Public Property Get BStyle() As String
    invece di
    Public Property Get BStyle() As Integer
    un errore di distrazione
    ma la nuova proprietà continua a essere presente nella tabella delle proprietà.
    «Sono le azioni che contano. I nostri pensieri, per quanto buoni possano essere, sono perle false fintanto che non vengono trasformati in azioni. Sii il cambiamento che vuoi vedere avvenire nel mondo». (Mahatma Gandhi)

  3. #3
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Se non vuoi che la proprietà sia pubblica definiscila come Private
    codice:
    Private Property Get BStyle() As Integer
      BStyle = mStyle
    End Property
    
    Public Property Let BStyle(ByVal sNewValue As Integer)
      mStyle = sNewValue
      stile mStyle
    End Property
    Ciao,
    Ciao, Brainjar

  4. #4
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Errata corrige.
    codice:
    Private Property Get BStyle() As Integer
      BStyle = mStyle
    End Property
    
    Private Property Let BStyle(ByVal sNewValue As Integer)
      mStyle = sNewValue
      stile mStyle
    End Property
    Riciao,
    Ciao, Brainjar

  5. #5
    Utente di HTML.it L'avatar di grendy
    Registrato dal
    Aug 2003
    Messaggi
    338
    credo ci sia stato un equivoco...
    io voglio che la nuova proprietà sia publica.

    cmq ho rifabricato l'ocx (make) e adesso la nuova proprietà BStyle è presente nella finestra delle proprietà.

    Adesso sembrerebbe tutto ok, solo che, se imposto la nuova proprietà dalla finestra delle proprietà, mi prende il valore ma poi ci rimette quello di default, mentre se imposto la nuova proprietà dal codice, tipo sul form_load, va tutto bene.

    ho creato un piccolo progetto di esempio, se volete dargli un occhiata, cliccate
    quì.

    ripeto e solo un progetto di esempio che non serve a nulla.

    il codice nel form_load è commentato perche voglio impostare quelle proprietà dalla finestra delle proprietà.
    «Sono le azioni che contano. I nostri pensieri, per quanto buoni possano essere, sono perle false fintanto che non vengono trasformati in azioni. Sii il cambiamento che vuoi vedere avvenire nel mondo». (Mahatma Gandhi)

  6. #6
    Utente di HTML.it L'avatar di grendy
    Registrato dal
    Aug 2003
    Messaggi
    338
    ok ragazzi risolto
    non credo che ci sia lo spazio in un forum per discutere di come si usano le Get Set e Let in visual basic .... e poi io ho appena iniziato.
    cmq ho aggiornato il file di esempio con quello funzionante, potete sempre dargli un occhiata.
    un consiglio per chi come me vuole imparare a capirci qualcosa:
    non cominciate senza un buon manuale.
    «Sono le azioni che contano. I nostri pensieri, per quanto buoni possano essere, sono perle false fintanto che non vengono trasformati in azioni. Sii il cambiamento che vuoi vedere avvenire nel mondo». (Mahatma Gandhi)

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.