Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [VB6] Inizializzare proprietà di una nuova istanza ad una classe


    Ho bisogno di inserire in una classe una funzione di inizializzazione di alcune sue proprietà.
    E' possibile, direttamente nel modulo di classe, inserire una funzione (tipo un costruttore in C) che vada ad impostare queste proprietà in automatico ogni volta che viene creata una nuova istanza alla classe, o devo comunque inserire la funzione e richiamarla manualmente?

  2. #2
    Utente di HTML.it L'avatar di bubu80
    Registrato dal
    Aug 2002
    Messaggi
    99
    puoi impostare le varie varibili locali delle proprieta all'interno del costruttore...
    Non si finisce mai di imparare...

  3. #3
    Originariamente inviato da bubu80
    puoi impostare le varie varibili locali delle proprieta all'interno del costruttore...
    Costruttore in VB6?

  4. #4
    Originariamente inviato da Luciano79
    Costruttore in VB6?
    Be', esiste l'evento Class_Initialize, che può fare per te se i dati con cui devi inizializzare le proprietà non devono essere forniti dal codice che ha creato l'oggetto (in sostanza è l'equivalente di un costruttore senza parametri).
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Originariamente inviato da MItaly
    Be', esiste l'evento Class_Initialize, che può fare per te se i dati con cui devi inizializzare le proprietà non devono essere forniti dal codice che ha creato l'oggetto (in sostanza è l'equivalente di un costruttore senza parametri).
    Una delle proprietà viene passata dal codice, ma è già un gran bel passo avanti

  6. #6
    Puoi creare una funzione "Create" in un modulo helper che accetta il parametro in questione, crea il nuovo oggetto e lo restituisce.
    codice:
    'Nel modulo di classe "MyClass"
    Public int As Integer
    Public dbl As Double
    Private Sub Class_Initialize()
        int=5 'Int è *sempre* uguale a 5
    End Sub
    
    'Nel modulo
    Public Function Create(ByVal dbl As Double) As MyClass
    Dim mc As New MyClass
    mc.dbl=dbl
    Create=mc
    End Sub
    Usando property friend puoi anche scrivere classi più incapsulate.
    Amaro C++, il gusto pieno dell'undefined behavior.

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.