Esta tabela tenta fazer um inventário de todas as mudanças incompatíveis entre Gambas 2 e Gambas 3.
Quando o conversor do IDE faz uma conversão automática no projeto, ele insere um comentário
começando com a string [GB2:XXXX]
, onde XXXX
é o identificador assistente de quatro
letras descrevendo que ocorreu a conversão.
Identificador assistente
|
Sintoma
|
Detalhes
|
Gambas 2 & rarr; Gambas 3
|
ARRD
|
"Erro de sintaxe" na declaração da matriz
|
Ao declarar uma matriz dimensionada agora você tem que usar a palavra-chave NEW.
|
DIM sCommand AS String[5]
↓
Dim sCommand As New String[5]
|
BCOL
|
Erro "Símbolo desconhecido 'BackColor'..."
|
A propriedade BackColor na classe Control foi removido. Use Background em vez disso.
|
MyLabel.BackColor = Color.Background
↓
MyLabel.Background = Color.Background
|
BIND
|
Erro "Excesso de argumentos" com UdpSocket.Bind()
|
O método UdpSocket.Bind() não pode ter mais argumento como Porta.
Em vez disso use a propriedade Port.
|
↓
hBroadcastEvent.Port = 0
hBroadcastEvent.Bind()
|
CLNG
|
Erro "Identificador desconhecido 'CLng'"
|
A função sinónimo CLng() foi removida.
Use CLong() em vez disso.
|
↓
|
CSNG
|
Erro "Identificador desconhecido 'CSng'"
|
A função sinónimo CSng() foi removida.
Use CSingle() em vez disso..
|
↓
|
CFLT
|
Erro "Identificador desconhecido 'CFlt'"
|
A função sinónimo CFlt() foi removida.
Use CFloat() em vez disso..
|
↓
|
DBGV
|
Erro "Símbolo desconhecido 'GridView' na classe 'DataBrowser'"
|
A propriedade gridview do controle DataBrowser foi renomeado como View.
|
↓
|
DMRG
|
"DrawingArea.Merge está obsoleta" mensagem de aviso
|
A DrawingArea.Merge não faz mais nada. Você pode removê-la.
|
MyDrawingArea.Merge = TRUE
↓
|
DSUB
|
Erro SQL com métodos de banco de dados
|
Argumentos do DB.Exec() e DB.Subst() acima de nove agora deve ser fechado com {}.
|
MyConnection.Exec("UPDATE devices "
"SET name = &1, module = &2, "
"interface = &3, address = &4, "
"location = &5, label = &6, "
"label2 = &7, label3 = &8, "
"value = &9, officon = &10, "
"onicon = &11")
↓
MyConnection.Exec("UPDATE devices "
"SET name = &1, module = &2, "
"interface = &3, address = &4, "
"location = &5, label = &6, "
"label2 = &7, label3 = &8, "
"value = &9, officon = &{10}, "
"onicon = &{11}")
|
FCOL
|
Erro "Símbolo desconhecido 'ForeColor'...
|
A propriedade ForeColor na classe Control foi removida. Use Foreground em vez disso.
|
MyLabel.ForeColor = Color.Red
↓
MyLabel.Foreground = Color.Red
|
FNTH
|
Erro "Não é um objeto ao usar Font.Height
|
Font.Height é agora uma propriedade. O método antigo Font.Height () foi renomeado
Font.TextHeight().
|
↓
|
FNTW
|
Erro "Símbolo desconhecido 'Width'" durante a utilização de Font.Width
|
O método Font.Width () foi renomeado para Font.TextWidth().
|
↓
|
FRMT
|
Espaços inesperados impressos com Format$
|
Em Gambas 3, caracteres de formatação não utilizados na função Format()
são substituídos por espaços, considerando que eles eram ignorados no Gambas 2.
Basta usar caracteres de formatação a menos. Caracteres excedentes serão impresso de qualquer forma.
|
↓
|
IMGS
|
Erro "Excesso de argumentos" com o método Image.Stretch()
|
O método Image.Stretch() não tem mais seu terceiro argumento. Remova-o.
|
MyImage = MyImage.Stretch(64, 64, TRUE)
↓
MyImage = MyImage.Stretch(64, 64)
|
INCB
|
"Boolean incrementação está obsoleta mensagem de aviso"
|
INC Boolean ou DEC Boolean já não é permitido. Use Boolean = Not Boolean em vez disso..
|
↓
|
ISTY
|
Erro "Tipo incompatível" quando se utiliza IsBoolean() , IsString() ,
ou alguma função Is<Type>()
|
A função Is<Type>() foram completamente redesenhado em Gambas 3.
Em vez de verificar o tipo de dados de uma expressão,
eles agora verificar se uma string pode ser convertido com segurança
para um tipo de dados específico com a função Val() .
Use TypeOf() para fazer o check em vez disso.
|
IF IsBoolean(Value) THEN ...
IF IsByte(Value) THEN ...
IF IsShort(Value) THEN ...
IF IsNumber(Value) THEN ...
...
↓
If TypeOf(Value) = gb.Boolean THEN ...
If TypeOf(Value) = gb.Byte THEN ...
If TypeOf(Value) = gb.Short THEN ...
If TypeOf(Value) <= gb.Float THEN ...
...
|
OPEN
|
Erro "Inesperado OPEN" com a instrução OPEN
|
A sintaxe da instrução OPEN mudou.
|
OPEN sBaseDir &/ "logs" &/ sMainLogFile FOR APPEND AS #hMainLogFile
↓
hMainLogFile = Open sBaseDir &/ "logs" &/ sMainLogFile For Append
|
OVER
|
Erro "/Class/.*Symbol* é mal substituído em *OutraClass*/"
|
Quando você reimplementa um símbolo em uma classe herdada, Gambas 3 agora verifica
se a declaração do símbolo na classe filha é compatível com a da classe pai.
Corrija a declaração símbolo na classe filha, ou utilize outro nome para esse símbolo.
|
' Dentro de um formulário
Private Delete As Button
↓
' Inside a form
Private btnDelete As Button
|
PPRO
|
Erro "Faltando AS" em uma declaração de propriedade, utilizando a palavra-chave PUBLIC.
|
A palavra-chave PUBLIC não é mais permitido em definições de propriedade. Propriedade são sempre públicas.
|
PUBLIC PROPERTY LineColor AS Integer
↓
Property LineColor As Integer
|
QUES
|
Erro "Identificador Desconhecido'xxxx?'"
|
Todas as funções de teste que terminam com um ponto de interrogação foram removidos.
Use a função sinônimas começando com "Is" em vez disso.
|
Dir?(...)
Null?(...)
Integer?(...)
...
↓
IsDir(...)
IsNull(...)
IsInteger(...)
...
|
QUOT
|
Erro "Identificador desconhecido 'Quote'"
|
As classes quote e Unquote foram removidas.
Replace Quote.Shell by Shell$().
|
↓
|
SLAY
|
"Incompatibilidade de tipo. Integer
inesperado" erro com a propriedade Splitter.Layout**
|
A propriedade Splitter.Layout agora recebe um array de inteiros em vez de uma string
de valores separados por vírgulas.
|
MySplitter.Layout = "500,500"
↓
MySplitter.Layout = [500, 500]
|
TEXT
|
"gb.Text está obsoleto" mensagem de aviso
|
gb.Text está obsoleto e foi substituído por gb.IgnoreCase.
|
↓
|