Edit não salva alterações
Olá pessoal...estou concluindo um teste de um form. É para editar um registro já gravado. Só que não está salvando as alterações. Ao compilar o projeto notei que ele da um erro numa linha que puxa a foto relacionada ao registro. O trecho do código onde apresenta o erro esta abaixo:
Agora o erro que apresenta:
Como resolver isto?.....qualquer ajuda será bem vinda
if abrefoto.Execute then
begin
foto.Picture.LoadFromFile(abrefoto.FileName);
dm01.tbl_membroMEM_FOTO.Value := abrefoto.FileName;
end;
Agora o erro que apresenta:
[DCC Warning] u_memedit.pas(94): W1058 Implicit string cast with potential data loss from 'TFileName' to 'AnsiString'
Como resolver isto?.....qualquer ajuda será bem vinda
Carlos Magno
Curtidas 0
Respostas
Marco Salles
28/08/2012
isto é um warning um aviso
Troque o .value por asstring
Troque o .value por asstring
if abrefoto.Execute then begin foto.Picture.LoadFromFile(abrefoto.FileName); dm01.tbl_membroMEM_FOTO.asstring:= abrefoto.FileName; end;
GOSTEI 0
Marco Salles
28/08/2012
Olá pessoal...estou concluindo um teste de um form. É para editar um registro já gravado. Só que não está salvando as alterações. Ao compilar o projeto notei que ele da um erro numa linha que puxa a foto relacionada ao registro. O trecho do código onde apresenta o erro esta abaixo:
Agora o erro que apresenta:
Como resolver isto?.....qualquer ajuda será bem vinda
if abrefoto.Execute then
begin
foto.Picture.LoadFromFile(abrefoto.FileName);
dm01.tbl_membroMEM_FOTO.Value := abrefoto.FileName;
end;
Agora o erro que apresenta:
[DCC Warning] u_memedit.pas(94): W1058 Implicit string cast with potential data loss from 'TFileName' to 'AnsiString'
Como resolver isto?.....qualquer ajuda será bem vinda
desculpa eu não expliquei so dei a possivel solução
veja a definição do value
property Value: AnsiString read GetAsAnsiString write SetAsAnsiString; // é um AnsiString correto
veja a definição de Tfile
TFileName = type string; // é um tipo String
A grosso modo vc esta passando um tipo maior para um tipo mais restritivo (nas novas versões do Delphi)
o compilador avisa em formato de warning que vc pode ter perda de informação . Porque Ansistring é um
valor mais restritivo do que o string;
[]sds
GOSTEI 0
Carlos Magno
28/08/2012
Marcos..postei essa dúvida ontem a noite e o projeto esta em meu pc em casa.....a noite vou testar a possivel solução e coloc aqui se deu certo....
GOSTEI 0
Carlos Magno
28/08/2012
Marcos.....não resolveu. Ao compilar não deu mais nenhum warning, mas continua ainda a não salvar as alterações.
GOSTEI 0
Marco Salles
28/08/2012
Marcos.....não resolveu. Ao compilar não deu mais nenhum warning, mas continua ainda a não salvar as alterações.
Mas eu resolvi foi o problema do warning .. Foi so este que eu resolvi ..
GOSTEI 0
Carlos Magno
28/08/2012
Então nenhuma luz sobre o que pode ser de não salvar as alterações?
GOSTEI 0
Marco Salles
28/08/2012
Então nenhuma luz sobre o que pode ser de não salvar as alterações?
Para resolver isto , vc tem que relatar qual a tecnologia de acesso a dados que vc esta utilizando . qual o Banco , qual a
Versão do delphi . Se esta utilizando Controles DataWares , se esta colocando em modo de edição . qual a rotina que esta
utilizando para salvar . Enfim são várias diretivas que podem ser passadas
GOSTEI 0
Carlos Magno
28/08/2012
Então vamos lá.
Como sou iniciante e este programinha é bem básico para cadastro de membros de uma igreja, estou utilizando os sistema abaixo listado:
Delphi 2010;
Banco de Dados: Paradox;
Conexão: Utilizo o BDE, TTable's e TDataSet's;
Utilizo o Post para salvar, o Edit para alterar... usando da seguinte forma. Ex: dm01.tbl_membro.Edit;
Nada mais além disso.
Quanto a colocar em modo de edição eu não sei como identificar isso.
Como sou iniciante e este programinha é bem básico para cadastro de membros de uma igreja, estou utilizando os sistema abaixo listado:
Delphi 2010;
Banco de Dados: Paradox;
Conexão: Utilizo o BDE, TTable's e TDataSet's;
Utilizo o Post para salvar, o Edit para alterar... usando da seguinte forma. Ex: dm01.tbl_membro.Edit;
Nada mais além disso.
Quanto a colocar em modo de edição eu não sei como identificar isso.
GOSTEI 0
Marco Salles
28/08/2012
Modo de edição é vc fazer
dm01.tbl_membro.Edit;
if abrefoto.Execute then
begin
foto.Picture.LoadFromFile(abrefoto.FileName);
dm01.tbl_membroMEM_FOTO.asstring:= abrefoto.FileName;
end;
dm01.tbl_membro.post;
dm01.tbl_membro.Edit;
if abrefoto.Execute then
begin
foto.Picture.LoadFromFile(abrefoto.FileName);
dm01.tbl_membroMEM_FOTO.asstring:= abrefoto.FileName;
end;
dm01.tbl_membro.post;
GOSTEI 0
Carlos Magno
28/08/2012
Então já está assim.....há, acho que já peguei o que esta acontecendo...vou tentar corrigir e depois coloco se deu certo.
GOSTEI 0
Marco Salles
28/08/2012
vamos aguardar
[]sds
[]sds
GOSTEI 0
Carlos Magno
28/08/2012
Não deu certo...modifiquei o código, mas ainda não esta salvando.
GOSTEI 0