GARANTIR DESCONTO

Fórum Acess Violation #355865

24/03/2008

0

Ola Delphianos,

Bom sera que alguem pode me ajudar com isso!

Tenho um Form funfa legalzinho até o momento de adicionar a imagem num campo Blob.

O erro de Acess Violation acontece exatamente quando eu seleciono a imagem que ira fazer parte do form do Cliente.

Segue abaixo como estou fazendo:

procedure TfrmCadClientes.EscolherImagem(Imagem: TDBImage);
var
  oJPEG: TJPEGImage;
  oDialogo: TOpenPictureDialog;
  oPicture: TPicture;
begin
  if not Assigned(Imagem) then
    Exit;

  if (not Assigned(Imagem.DataSource)) or (Imagem.DataField = ´´) then
    Exit;

  if not Assigned(Imagem.DataSource.DataSet) then
    Exit;

  if not (Imagem.DataSource.DataSet.Active) then
    Exit;

  oDialogo := TOpenPictureDialog.Create(nil);
  try
    oDialogo.Options := [ofOverwritePrompt, ofHideReadOnly, ofEnableSizing];
    oDialogo.Filter := ´Imagens (*.jpg;*.jpeg;*.bmp)|*.jpg;*.jpeg;*.bmp´;
    oPicture := TPicture.Create;
    try
      oJPEG := TJPEGImage.Create;
      try
        if oDialogo.Execute then
        begin
          oPicture.LoadFromFile(oDialogo.FileName);
          oJPEG.Assign(oPicture.Graphic);
          if not (Imagem.DataSource.DataSet.State in dsEditModes) then
            Imagem.DataSource.DataSet.Edit;
          Imagem.Picture.Graphic.Assign(oJPEG);
        end;
      finally
        FreeAndNil(oJPEG);
      end;
    finally
      FreeAndNil(oPicture);
    end;
  finally
    FreeAndNil(oDialogo);
  end;
end;

procedure TfrmCadClientes.CarregarImagemmClick(Sender: TObject);
begin
  inherited;
  EscolherImagem(DBImage1);
end;


Se algume puder ajudar estou aberto para dialogar até pelo MSN:
petelegalmsn@hotmail.com

Abraços

Sergio


Peterpan

Peterpan

Responder

Posts

24/03/2008

Peterpan

Ola Delphianos, Bom sera que alguem pode me ajudar com isso! Tenho um Form funfa legalzinho até o momento de adicionar a imagem num campo Blob. O erro de Acess Violation acontece exatamente quando eu seleciono a imagem que ira fazer parte do form do Cliente. Segue abaixo como estou fazendo:
procedure TfrmCadClientes.EscolherImagem(Imagem: TDBImage);
var
  oJPEG: TJPEGImage;
  oDialogo: TOpenPictureDialog;
  oPicture: TPicture;
begin
  if not Assigned(Imagem) then
    Exit;

  if (not Assigned(Imagem.DataSource)) or (Imagem.DataField = ´´) then
    Exit;

  if not Assigned(Imagem.DataSource.DataSet) then
    Exit;

  if not (Imagem.DataSource.DataSet.Active) then
    Exit;

  oDialogo := TOpenPictureDialog.Create(nil);
  try
    oDialogo.Options := [ofOverwritePrompt, ofHideReadOnly, ofEnableSizing];
    oDialogo.Filter := ´Imagens (*.jpg;*.jpeg;*.bmp)|*.jpg;*.jpeg;*.bmp´;
    oPicture := TPicture.Create;
    try
      oJPEG := TJPEGImage.Create;
      try
        if oDialogo.Execute then
        begin
          oPicture.LoadFromFile(oDialogo.FileName);
          oJPEG.Assign(oPicture.Graphic);
          if not (Imagem.DataSource.DataSet.State in dsEditModes) then
            Imagem.DataSource.DataSet.Edit;
          Imagem.Picture.Graphic.Assign(oJPEG);
        end;
      finally
        FreeAndNil(oJPEG);
      end;
    finally
      FreeAndNil(oPicture);
    end;
  finally
    FreeAndNil(oDialogo);
  end;
end;

procedure TfrmCadClientes.CarregarImagemmClick(Sender: TObject);
begin
  inherited;
  EscolherImagem(DBImage1);
end;
Obs: o erro acontece exatamente neste momento; 1) Abri o form 2) Inseri os dados do cliente 3) Cliquei no botao Carregar Imagem para abrir a tela do OpenimageDialog 4) Selecionei a Imagem 5) Cliquei em Abrir <===== Aki da o erro de Acess Violation Se algume puder ajudar estou aberto para dialogar até pelo MSN: petelegalmsn@hotmail.com Abraços Sergio



Responder

Gostei + 0

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

Aceitar