Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
vanderab Novato

Registrado: Quinta-Feira, 20 de Setembro de 2012 Mensagens: 25
|
Enviada: Sáb Ago 23, 2014 3:48 pm Assunto: Access violation ao importar dados da consulta [RESOLVIDO] |
|
|
Galera, estou precisando da ajuda de vocês...
Em meu sistema, adaptei para abrir os meus formulários em Abas (TDI)...
Para abrir as janelas, está funcionando perfeito, só que estou com problemas para importar os dados do Formulário de consultas para a janela aberta no PageControl. (Ex: Enviar Produtos para Janela de Vendas).
Erro de "Access violation at address 00000000 in module Sistema.exe'. Write of address 00000000".
Se eu chamar meu formulário normal, sem usar o PageControl ele envia os dados da consulta normal, e se usar o Form.Parent no TabSheet ele da o erro mencionado acima.
Valeu Galera...
Editado pela última vez por vanderab em Qui Set 04, 2014 10:56 am, num total de 2 vezes |
|
Voltar ao Topo |
|
 |
johnny-walker Moderador


Registrado: Sábado, 4 de Outubro de 2003 Mensagens: 10653 Localização: Contagem/MG - BRAZIL
|
Enviada: Sáb Ago 23, 2014 11:52 pm Assunto: |
|
|
Mostre o código, pois sem isto ninguém pode te ajudar, somente será especulação.
bye _________________ P.O.W.E.R B.Y D.E.L.P.H.I |
|
Voltar ao Topo |
|
 |
vanderab Novato

Registrado: Quinta-Feira, 20 de Setembro de 2012 Mensagens: 25
|
Enviada: Dom Ago 24, 2014 9:21 am Assunto: |
|
|
Eu uso este Código para chamar os Forms e criar as Abas.
procedure TfrmPrincipal.NovaAba(ClasseForm: TFormClass);
var
TabSheet: TTabSheet;
Form : TForm;
begin
if not PodeAbrirFormulario(ClasseForm, TabSheet) then
begin
pcForms.ActivePage := TabSheet;
Exit;
end;
TabSheet := TTabSheet.Create(Self);
TabSheet.PageControl := pcForms;
Form := ClasseForm.Create(TabSheet);
with TabSheet do
begin
Caption := Form.Caption;
ImageIndex := -1;
end;
with Form do
begin
Align := alClient;
BorderStyle := bsNone ;
Parent := TabSheet;
Show;
end;
pcForms.ActivePage := TabSheet;
end; |
|
Voltar ao Topo |
|
 |
johnny-walker Moderador


Registrado: Sábado, 4 de Outubro de 2003 Mensagens: 10653 Localização: Contagem/MG - BRAZIL
|
Enviada: Dom Ago 24, 2014 1:37 pm Assunto: |
|
|
Coloque o código de importação amigo, este que você colocou é somente das abas, mas o de importação é importante.
bye _________________ P.O.W.E.R B.Y D.E.L.P.H.I |
|
Voltar ao Topo |
|
 |
vanderab Novato

Registrado: Quinta-Feira, 20 de Setembro de 2012 Mensagens: 25
|
Enviada: Dom Ago 24, 2014 4:20 pm Assunto: |
|
|
OK.
Pra chamar o Formulário de Pesquisa, utilizo esse código:
procedure TfrmVenda.btLocalizarProdutoClick(Sender: TObject);
begin
frmPesquisaProduto := TfrmPesquisaProduto.Create(Self);
frmPesquisaProduto.Tag := 10 ;
frmPesquisaProduto.ShowModal ;
end;
E Pra enviar os dados da pesquisa, utilizo o seguinte código:
procedure TfrmPesquisaProduto.btAplicarExecute(Sender: TObject);
begin
IF Self.tag = 10 THEN
BEGIN
With frmVenda do
begin
cdsListaPedido.Append;
cdsListaPedido.FieldByName('CodBarra_DetVenda').AsString := cdsPesquisaProduto.FieldByName('CODBARRA_PRODUTO').AsString ;
cdsListaPedido.FieldByName('ID_PRODUTO').AsInteger := cdsPesquisaProduto.FieldByName('ID_PRODUTO').AsInteger ;
cdsListaPedido.FieldByName('Quantidade_DetVenda').AsInteger := Quantidade ;
cdsListaPedido.FieldByName('NomeProduto_DetVenda').AsString := cdsPesquisaProduto.FieldByName('NOME_PRODUTO').AsString ;
cdsListaPedido.FieldByName('NomeUnidade_DetVenda').AsString := cdsPesquisaProduto.FieldByName('NOME_UNIDADE').AsString ;
cdsListaPedido.FieldByName('ValorProduto_DetVenda').Value := cdsPesquisaProduto.FieldByName('VALORVENDA_PRODUTO').Value ;
cdsListaPedido.Post;
end;
END;
end; |
|
Voltar ao Topo |
|
 |
|