Fórum
Ver pergunta

Chamar Form c#   

95 visualizações
Categoria::
0
0

Boa dia, fiz o código parecia ao que está na documentação, mas dá me sempre erro, diz que o objecto não esta instanciado

Faça login para poder traduzir
V10
Geral
Marcado como spam
Criado há 5 anos e 9 meses tiagohenriquepsi
2 respostas
0
Resposta privada

Peço desculpa, coloquei como answer o que era em Comment. Retiro.

Faça login para poder traduzir
Marcado como spam
Criado há 5 anos e 5 meses andrmanta
a
andrmanta Iniciante
    0
    Resposta privada

    Olá Tiago,

    O form Calculadora é um CustomForm?

    Pelo que vejo, o ArtigoComp.cs é um separador do utilizador, certo? Em vez de this.BSO não será antes this.ContextService.BSO?

    Faça login para poder traduzir
    Marcado como spam
    Criado há 5 anos e 9 meses
    Iniciante
      Comentários

      Sim a Calculadora, é um CustomForm.

      5 anos e 9 meses
      tiagohenriquepsi

        Sim é um separador de utilizador, eu tenho This.contextService.BSO mas ficou logo atribuído numa variavel

        5 anos e 9 meses
        tiagohenriquepsi

          Olá @tiagohenriquepsi, desculpa não ter voltado a responder, ainda continuas com o problema?

          5 anos e 9 meses
            Boa tarde, Tenho o mesmo problema, criei uma dll com 2 formulários dentro, ambos herdando de CustomForm.. A partir do ERP invoco um deles e depois deste, invoco o outro form. Com uma versão do Primavera v10 mais antiga, consigo invocar este segundo form sem problema (estou a usar o ShowDialog()) mas com a versão atualizada do Primavera, dá-me NullReferenceException ao fazer ShowDialog(). O objecto existe porque como é possivel ver pelo código abaixo, corro um método dessa classe antes de fazer showDialog(). O código que estou a fazer é bastante simples: FDU_DetalhesDocDigitizer FrmDetalhes = new FDU_DetalhesDocDigitizer(); FrmDetalhes.BindControlos(Doc, OpersDocDigit); FrmDetalhes.ShowDialog(); Onde BindControlos é: public void BindControlos (JObject DadosDocumento, Operacoes OpersWS) { OpersDocDigit = OpersWS; DadosDoc = DadosDocumento; //criamos uma instância de EstruturaDoc em DocERP para guardar os dados de DadosDocumento DocERP = new EstruturaDoc( DadosDocumento["document"]["id"].ToString(), DadosDocumento["document"]["annotations"]["data"]["document:invoice:client_tax_id"].ToString(), DadosDocumento["document"]["annotations"]["data"]["document:invoice:client_name"].ToString(), DadosDocumento["document"]["annotations"]["data"]["document:invoice:currency"].ToString(), DadosDocumento["document"]["annotations"]["data"]["document:invoice:invoice_number"].ToString(), DadosDocumento["document"]["annotations"]["data"]["document:invoice:vendor_tax_id"].ToString(), DadosDocumento["document"]["annotations"]["data"]["document:invoice:vendor_name"].ToString(), (decimal)DadosDocumento["document"]["annotations"]["data"]["document:invoice:base_amount"], (decimal)DadosDocumento["document"]["annotations"]["data"]["document:invoice:vat_amount"], (decimal)DadosDocumento["document"]["annotations"]["data"]["document:invoice:total_amount"], DateTime.Parse(DadosDocumento["document"]["annotations"]["data"]["document:invoice:emission_date"].ToString())); this.txtClientName.Text = DocERP.ClienteNome; this.txtClientTaxId.Text = DocERP.ClienteNif; this.txtCurrency.Text = DocERP.Moeda; this.txtInvoiceNumber.Text = DocERP.Documento; this.txtVendorName.Text = DocERP.FornecedorNome; this.txtVendorTaxId.Text = DocERP.FornecedorNif; this.txtValorBase.EditValue = DocERP.ValorBase; this.txtValorIVA.EditValue = DocERP.ValorIVA; this.txtValorTotal.EditValue = DocERP.ValorTotal; this.txtCalend.EditValue = DocERP.DataDoc.ToString("yyyy-MM-dd"); //verificamos se o documento tem linhas. Se tiver, criamos a grid, senão não fazemos mais nada try { JArray ArrLinhas = JArray.FromObject(DadosDocumento["document"]["annotations"]["data"]["document:invoice:tax_lines"]); if (ArrLinhas.Count > 0) CriarGrid(true, ArrLinhas, ref DocERP); } catch (Exception) { Console.WriteLine("Não tem linhas"); } //botões do formulário BotaoERP = new SimpleButton(); BotaoERP.Parent = this.containerDocERP; BotaoERP.LookAndFeel.Style = DevExpress.LookAndFeel.LookAndFeelStyle.Style3D; BotaoERP.Text = " Criar doc. ERP "; BotaoERP.AutoSize = true; BotaoERP.Enabled = (DocJaCriado(DocERP.Documento)) ? false : true; BotaoERP.Show(); BotaoERP.Click += new System.EventHandler(this.BotaoERP_Click); BotaoFichOrig = new SimpleButton(); BotaoFichOrig.Parent = this.containerFichOrig; BotaoFichOrig.LookAndFeel.Style = DevExpress.LookAndFeel.LookAndFeelStyle.Style3D; BotaoFichOrig.Text = " Ver ficheiro original "; BotaoFichOrig.AutoSize = true; BotaoFichOrig.Enabled = true; BotaoFichOrig.Show(); BotaoFichOrig.Click += new System.EventHandler(this.BotaoFichOrig_Click); //mostramos a label criado se o documento já tiver sido anteriormente persistido if (DocJaCriado(DocERP.Documento)) this.lblCriado.Visible = true; else this.lblCriado.Visible = false; }
            5 anos e 5 meses
            andrmanta