Migração Delphi 7 para XE10.2 Tokio

12/08/2017

0

Olá Pessoal! Estou começando a migração de todos meus sistemas do D7 para o XE10, até agora instalei todos os componentes sem problemas, mas me deparei com os seguintes problemas:

1 - for i := 0 to DBGrid2.SelectedRows.Count - 1 do
begin
ibqTodasDespesas.GotoBookmark(Pointer(DBGrid2.SelectedRows.Items[i]));
with ibqMarcaPaga do
begin
Close;
SQL.Clear;
SQL.Add('update despesas set paga=:paga where id_despesa=:id');
ParamByName('id').Value := ibqTodasDespesasID_DESPESA.Value;
ParamByName('paga').Value := 'SIM';
Prepare;
ExecSQL;
end;
esta rotina dá o seguinte erro no pointe
:r [dcc32 Error] UnitFechamento.pas(1206): E2010 Incompatible types: 'System.TArray<System.Byte>' and 'Pointer', pesquisei e não achei nada que conseguisse resolver.

2 - O Firebird não conecta, instalei o 2.5 e diz is not a valid database, não é um banco válido.

Se alguém puder ajudar agradeceria muito.

Valeu
Marcelo Vieira

Marcelo Vieira

Responder

Post mais votado

13/08/2017

Boa noite amigo,
como lhe disse de fato o o método GotoBookmark recebe como parametro um array de bytes. E para sua sorte o "SelectedRows.Items" retorna um array de bytes. hahahaa então basta tirar o typecast pointer

  ibqTodasDespesas.GotoBookmark(DBGrid2.SelectedRows.Items[i]);



Espero ter ajudado.

Att: Gutierry Antonio

Gutierry Pereira

Gutierry Pereira
Responder

Mais Posts

12/08/2017

Marcelo Vieira

Resolvi o banco de dados, instalei a versão 1.5 e funcionou, mas não sei por que não funcionou na 2.5. A primeira questão ainda sem solução.
Responder

13/08/2017

Gutierry Pereira

Boa tarde,
Este erro esta ocorrendo por que provavelmente o método GotoBookmark requer como parâmetro um array de bytes e não mas um pointer.

Que componente é este ibqTodasDespesas ?
Responder

13/08/2017

Marcelo Vieira

Boa tarde,
Este erro esta ocorrendo por que provavelmente o método GotoBookmark requer como parâmetro um array de bytes e não mas um pointer.

Que componente é este ibqTodasDespesas ?


Olá, é um IBQuery.
Responder

14/08/2017

Marcelo Vieira

Boa noite amigo,
como lhe disse de fato o o método GotoBookmark recebe como parametro um array de bytes. E para sua sorte o "SelectedRows.Items" retorna um array de bytes. hahahaa então basta tirar o typecast pointer

  ibqTodasDespesas.GotoBookmark(DBGrid2.SelectedRows.Items[i]);



Espero ter ajudado.

Att: Gutierry Antonio


Boa tarde Gutierry! Resolveu. Muito obrigado. Agora estou tendo outro problema, instalei e versão 6 do QReport, e ela não tem os componentes TQRDBChart e TQRChart, lembro que na versão 7 do Delphi instalava-se a bpl dos gráficos, mas na XE10 não encontrei. Sabe de alguma solução? Mais uma vez obrigado pelo apoio.
Responder

15/08/2017

Gutierry Pereira

Opa, que bom que resolveu.
Poxa não sou um cara conhecedor do QR, utilizo o fast então não manjo muito.
Mas vou ver de "quale" para instalar ele aqui, se não resolver até lá. hehehe.

Abraços.
Responder

15/08/2017

Marcelo Vieira

Opa, que bom que resolveu.
Poxa não sou um cara conhecedor do QR, utilizo o fast então não manjo muito.
Mas vou ver de "quale" para instalar ele aqui, se não resolver até lá. hehehe.

Abraços.


Valeu pela ajuda, só falta isto para que possa conseguir compilar todos os meus projetos no XE10.2, como uso poucos componentes de terceiros até que foi tranquilo. Pensei que teria mais trabalho.
Responder

07/11/2017

Antony Moraes

Boa tarde!! estou migrando do Xe2 para o XE10.2 tokio ao compilar me apresenta o erro em Uses Vcl.DBLookup e IBServices,Alguém pode me ajudar.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar