Duvida sobre mtodo construtor

Sou novo com xojo e tenho algumas duvidas quanto a criao do mtodo construtor de uma classe.

criei uma classe chamada Dbcli com um mtodo construtor passando um parametro
Lcodigo As String

Criei uma Janela com um boto no evento action coloquei este comando:

Dim bd As BdCli
bd = New BdCli

deu um erro que falta passar parmetro.

1-Como eu estancio uma classe passando o parmetro para o mtodo construtor ?

2-Tem como estanciar uma classe que tem parametro no metodo construtor sem precisar passar estes parametros na estancia ?

Tem linguagens que se o construtor tem parametro e voce nao passa nada, ele assume por default espacos ou zeros.
ex: Lcodigo As Sring se voce nao passa o parametro ele assume “” ou seja espaos.

Você quer isso? Tente colocar seu parâmetro assim:

LCodigo As String = “”

Outra forma é fazendo Overloading, tendo múltiplos construtores com diversas formas de chamar.

Entendi.
Mas seu quiser passar os parmetros como ficaria este cdigo ?
Dim bd As BdCli
bd = New BdCli

Qual seria a sintaxe certa.

Para um construtor como:

Constructor Sub BdCli(LCodigo As String = “”)

End Sub

//----------------

Dim d1 As BdCli
d1 = New BdCli // Same as BdCli("")

Dim d2 As BdCli
d2 = New BdCli(“my string”)

// Ou direto definindo e instanciando:

Dim d3 As New BdCli
Dim d4 As New BdCli(“my string”)

Aproveite e conserte o titulo deste tpico trocando para “Duvida sobre mtodo construtor”. :wink:

Rick/Cauby,

Boa tarde!

Rick, obrigado pela ajuda! O Cauby havia me mandado um email e pedi pra ele postar aqui no forum pra ficar mais fcil e ajudar outras pessoas!

Abraos

Obrigado pela ajuda, testei as duas maneira eu deu certo.

Mais uma pergunta quando o campo String como voce j mencionou fica assim:

Constructor Sub BdCli(LCodigo As String = “”)

Agora se for uma data como ficaria ?

Ldata As Date =

Como ficaria ?

No h. Neste caso melhor usar overloading. Inicializaes precisam de valores literais e Xojo no tem literais de data.

Mais uma vez obrigado