Sunday 19 November 2017

Referência De Objeto Waitforexit Não


Meu código está escrito em vb. O que estou fazendo é que eu quero dizer ao compilador que aguarde até que o arquivo vbs terminei a versão, em seguida, continue o resto do código como o seguinte: myProcessuninstall Process. Start (quotfilepath. vbsquot) myProcessuninstall. WaitForExit () The Problema aqui é a mensagem de erro (Referência de objeto não definida para uma instância de um objeto) ao usar myProcessuninstall. WaitForExit () O que você declarou myProcessuninstall como A menos que seja um processo que não funcionará. Não mostra msgbox até o processo terminar. Se a reclamação sobre o seu objeto Id adivinhe que quotmyprocessuninstallquot não é declarado como um processo, e sim uma variável de código de retorno. Parece que você não está usando a classe Processo corretamente. Este é o exemplo do Microsofts C. Então, você precisa instanciar um Processo, dizer o nome do arquivo que você está chamando e quaisquer opções extras e, em seguida, executar o método Start. Depois disso, você executa o método WaitForExit. Usei sua declaração. Ainda é a mesma mensagem de erro. Quando eu tento o mesmo código com o arquivo. exe, funcionou bem. Então eu acho que (WaitForExit ()) funcionou apenas com arquivos exe e não aceita o arquivo vbs e vê-lo como nulo. Eu apenas testei isso e isso funciona bem. Você pode postar exatamente o que você está usando? Eu usei seu código e ainda recebi o mesmo erro, e como eu disse a Steve que a função waitforexit () funcionou bem com o arquivo exe. Por que recebo o erro 8220Objeto de referência não configurado para uma instância de Um objeto8221 O código está tentando acessar um membro de uma variável de tipo de referência que está definida como nula. Dada a seguinte classe, let8217s examinam alguns códigos que poderiam estar no método Main: Looking to Main. Observe que foo está definido como nulo. Sua situação não será explícita porque a variável que você está tentando usar pode ser um campo de classe, parâmetro ou variável local que já foi instanciado, mas que posteriormente foi definido como nulo. Dado que foo é nulo. O código a seguir lançará uma NullReferenceException: já que foo é nulo. Você não pode usar seus membros. Esta era uma propriedade, mas o seguinte código demonstra chamar um método: o código acima lança uma NullReferenceException porque foo ainda é nulo. Não importa se a primeira chamada era uma propriedade e a segunda é um método 8211, ambos são membros do tipo. Agora, para corrigir esse problema, você deve garantir que o foo seja instanciado antes de ser usado. O código a seguir instancia foo e os problemas anteriores são resolvidos: uma vez que foo agora se refere a uma instância válida, o código pode chamar qualquer um de seus membros. Isso foi mais fácil do que muitos problemas de referência nula. Às vezes você tem vários níveis de indireção, deixando você com um cenário que você não esperava. Supondo que foo agora faz referência a um objeto, ainda há um problema com o seguinte código: O problema ocorre no código acima porque BarMethod retornou nulo. O que significa que o código está tentando chamar o método Trim em uma referência de cadeia definida como nula. A maneira correta de corrigir esse problema é depurar o BarMethod para descobrir por que ele retornou nulo. Isso pressupõe que BarMethod não deve retornar nulo. Se, em sua aplicação, fazia sentido que o BarMethod às vezes devolvesse o valor nulo. Então você teria que verificar o valor de retorno do BarMethod antes de ligar para qualquer membro do valor de retorno. A questão eo problema vem em muitas formas diferentes. Para mim, escolher apenas um cenário pode não ser descritivo da causa do problema. Então, eu me aproximei de uma maneira genérica. O assunto contém texto da mensagem que aparece quando uma NullReferenceException é lançada, o que eu senti que seria identificável para alguém que procura e responda a este problema nas FAQ. O Google me dá mais de 5.000 entradas no quotNullReferenceExceptionquot. A descrição explica por que esse tipo de problema acontece. É projetado para que o leitor possa desenhar um paralelo entre a explicação e seu próprio problema. Embora a mensagem e a descrição sejam óbvias para a maioria dos desenvolvedores do C, não é para muitos iniciantes que têm apenas uma vaga idéia do que é um objeto ou referência em primeiro lugar. Eu certamente respeito o seu ponto de vista e entendo que algumas pessoas preferem ver o conteúdo direcionado ao seu nível de compreensão. Você acha que isso deveria ter o título modificado, o conteúdo modificado ou removido Brady, apenas dê uma olhada no microsoft. public. dotnet newsgroups8230, isso parece incrível, mas eu juro que nós recebemos pelo menos um desses comentários por semana. Null reference exception8230 help, what8217s Acontecendo, o que é o que estou fazendo erroneamente Pessoas que são novas para gerir o código aparentemente simplesmente não entendem essa mensagem e, como elas são geradas, eles assumem que deve haver um problema com (e não com o programa deles). Então, eu acho que essa entrada de log e seu título são apropriados, eu só me preocupo que o público-alvo que não conheça as referências de objeto won8217t sabe sobre esse blog 8282, mas pelo menos podemos publicar um link nos novos grupos de notícias do MS agora. Apesar de ter sido um tempo, ainda me lembro de ponderar esse erro. Quando você principalmente fez idiomas que não têm objetos mesmo simples, o significado das instâncias de objeto levará um tempo para entender. Poderia ser uma boa idéia ter um link facilmente visível e clicável na mensagem de erro que aponta para um arquivo de ajuda com uma explicação que provou ser compreensível para uma pessoa que nunca ouviu falar de objetos, e esse arquivo de ajuda também teria link Para algum lugar básico da OO. Boa postagem, definitivamente vou apontar as pessoas para as próximas 1000 vezes. Recebo uma pergunta assim. Em uma nota lateral, eu me preocupo que novos desenvolvedores que vejam o código simplesmente se encaixem na forma como seu TryCatch está escrito e adicione uma exceção - filter para NullReferenceException. Este é um candidato principal para usar exceções e trycatch como controle de fluxo, o que é explicitamente proibido por quase todos os padrões de codificação. Você pode considerar apenas comentar onde a exceção ocorreria, em vez de incluir esse filtro de exceção. Estou tendo o mesmo problema também. O meu código parece ser assim: Public Sub PageLoad (ByVal sender As System. Object, ByVal e As System. EventArgs) lida com MyBase. Load Dim strIndexname como String, strPriceType como String, strDateType como String Dim strone como String, strStartdt como String, strEnddt Como String, strConn como String Dim objShell como novo MPIndex. clsMPBShell Dim cnn como novo ADODB. Connection Dim intLocation como curto, eu como inteira Dim objColIndex como MPIndex. colIndex Novo MPIndex. colIndex Dim objIndex como novo MPIndex. clsIndex Dim PriceKeyID As Integer Dim LngStart Como Long, lngEnd Como Long Dim Duration Como Novo MPIndex. TimeDuration Dim lngCalendarID Como Long, lngCount Como Long Dim StartDate Como Data, EndDate Como Data, TradeDate Como Data Dim RetrieveMethod Como MPIndex. DataRetrieveMethod Dim blnIncludeVolume Como Booleano, blnExcludeWeekends Como Booleano 8216objShell Novo MPIndex. clsMPBShell 8216objColIndex Novo MPIndex. colIndex strIndexname quotNYISO DAM LBMP 8211 Generator (Brentwood) Estou usando um componente COM chamado MPIndex. clsMPBShell E eu obtenho a Referência de Objeto não definir erro. Na verdade, de acordo com a documentação DLL, o método Find na segunda linha deve retornar 26 como o valor passado para o método Find é codificado. Mas retorna 0 e devido a isso, o objIndex não está sendo configurado. Alguém pode me dizer onde eu estou indo errado Eu tenho a DLL registrada e adicionei a referência ao meu projeto. Eu tenho o erro abaixo toda vez que eu executo o código. Qualquer um me ajude a resolver isso. Referência de objeto não definida para uma instância de um objeto. Descrição: Uma exceção não tratada ocorreu durante a execução da solicitação da web atual. Por favor, reveja o rastreamento da pilha para obter mais informações sobre o erro e onde ele se originou no código. Detalhes da exceção: System. NullReferenceException: Referência de objeto não configurada para uma instância de um objeto. Linha 16: cadeia de conexões de cadeias Linha 17: SqlConnection sqlcon novo SqlConnection (ConfigurationManager. AppSettingsquotSQLDBConnectionquot. ToString ()) Linha 18: SqlConnection localSqlcon novo SqlConnection (ConfigurationManager. AppSettingsquotSQLDBConnectionquot. ToString ()) Arquivo de Origem: c: UsersmargyDesktopBASICSmastermasterSQLAccess. cs Linha: 17 NullReferenceException: Referência de objeto não definida para uma instância de um objeto. Matrixtemplate. DataAccess. SQLAccess..ctor () em c: UsersmargyDesktopBASICSmastermasterSQLAccess. cs: 17 matrixtemplate. contactmargy. saveData () em c: UsersmargyDesktopBASICSmastermastercontactmargy. aspx. cs: 41 matrixtemplate. contactmargy. btnSubmitClick (Object Sender, EventArgs e) em c: UsuáriosmargyDesktopBASICSmastermastercontactmargy. aspx. cs: 34 System. Web. UI. WebControls. Button. OnClick (EventArgs e) 9653178 System. Web. UI. WebControls. Button. RaisePostBackEvent (String eventArgument) 103 System. Web. UI. WebControls. Button. System. Web. UI. IPostBackEventHandler. RaisePostBackEvent (String eventArgument) 10 System. Web. UI. Page. RaisePostBackEvent (IPostBackEventHandler sourceControl, String eventArgument) 13 System. Web. UI. Page. RaisePostBackEvent (NameValueCollection postData) 35 System. Web. UI. Page. ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 1724 Por favor, alguém pode me ajudar com as seguintes linhas de códigos que lança: System. NullReferenceException: Object re Não é configurado para uma instância de um objeto. Public Sub createGridClick (ByVal eventSender As System. Object, ByVal eventArgs como System. EventArgs) Controla createGrid. Clique Dim WaterhedLayer As MapWindow. Interfaces. Layer Dim watershedLayerHandle As Integer Utilities. GetWatershedLayerHandle () 39 Se não (WaterhedLayer is Nothing) Then If mw. Layers. IsValidHandle (waterhedLayerHandle) Então, se (findWatershedShapefile. ShowDialog Windows. Forms. DialogResult. Cancel) Então Exit Sub Dim layerName Como String quotWatershed (quot System. IO. Path. GetFileName (WatershedShapePath) quot) watershedLayer mw. Layers. Add (WatershedShapePath, layerName) 39 Uma vez que esta é quotCreatequot grid, ela usa Nothing como a camada Grid para que o GridForm crie um do zero. GridForm New MWAGNPSLib. GridForm (mw, watershedLayer, Nothing) Pls confira abaixo roteiro que deseja mover renomear amp apagar arquivos SE EXISTIR tstbamm1gXLDATATESTxlcapCashLedgerBalancesReal-Time. xls COPY tstbamm1gXLDATATESTxlcapCashLedgerBalancesReal-Time. xls tstbamm1gXLReconTESTxlcapCashLedgerBalancesReal-Time. xls SE EXISTIR tstbamm1gXLDATATESTxlcapCashLedgerStatementReal-Time. xls COPY tstbamm1gXLDATATESTxlcapCashLedgerStatementReal-Time. xls tstbamm1gXLReconTESTxlcapCashLedgerStatementReal-Time. xls SE EXISTIR tstbamm1gXLDATATESTxlcapCashLedgerBalancesReal-Timeall. xls CÓPIA tstbamm1gXLDATATESTxlcapCashLedgerBalancesReal-Timeall. xls tstbamm1gXLReconTESTxlcapCashLedgerBalancesRealall-Time. xls SE EXISTIR tstbamm1gXLDATATESTxlcapCashLedgerStatementReal-Timeall. xls CÓPIA tstbamm1gXLDATATESTxlcapCashLedgerStatementReal-Timeall. xls tstbamm1gXLReconTESTxlcapCashLedgerStatementReal-Timeall. xls SE EXISTIR tstbamm1gXLDATATESTxlcapHoldingsRecon. Csv COPY tstbamm1gXLDATATESTxlcapHoldingsRecon. csv tstbamm1gXLReconTESTx lcapHoldingsRecon. csv REN tstbamm1gXLDATATESTME. csv me. txt REN tstbamm1gXLDATATESTxlcap1HoldingsPrcCustom. csv xlcap1HoldingsPrcCustom. txt REN tstbamm1gXLDATATESTxlcap2HoldingsPrcCustom. csv xlcap2HoldingsPrcCustom. txt REN tstbamm1gXLDATATESTxlcap3HoldingsPrcCustom. csv xlcap3HoldingsPrcCustom. txt PARA F a IN (tstbamm1gXLDATATESTLIST. TXT) SE MOVA tstbamm1gXLDATATESTa tstbamm1gXLDATATESTMMDDYYYY-a SE EU EXISTEM tstbamm1gXLDATATESTxlcap1sedolCAMRAInterfaceTradeFeedDownload - Standard txt MOVIMENTO Y tstbamm1gXLDATATESTxlcap1sedolCAMRAInterfaceTradeFeedDownload-standard SE EU EXISTEM tstbamm1gXLDATATESTxlcap2sedolCAMRAInterfaceTradeFeedDownload-standard txt MOVIMENTO Y tstbamm1gXLDATATESTxlcap2sedolCAMRAInterfaceTradeFeedDownload-standard REN tstbamm1gXLDATATESTXLCAPOUCashStatement. csv XLCAPOUCashStatement. txt Public Class Form1 Dim cn As New SqlConnection (quotData SourceDERICKInitial Catalogpalm databaseIntegrated SecurityTruequot) Dim cmd Como SqlCommand Dim dr As SqlDataReader Private Sub Form1Load (remetente como Object, e como EventArgs) lida com MyBase. Load cn. ConnectionString quotData SourceDERICKInicial Catalogpalm databaseIntegrated SecurityTruequot Private Sub Button1Click (remetente como objeto, e como EventArgs) Controla Button1.Clique se txtid. Text ltgt quotquot E txtname. Text ltgt quotquot E txtemail. Text Ltgt quotquot e txtphone. Text ltgt quotquot e txtres. Text ltgt quotquot e txtentry. Text ltgt quotquot Then cmdmandText quotinsert em (id, nome, email, telefone, endereço, data de entrada) valores (39quot amp txtid. Text amp quot39,39quot amp Txtname. Text amp quot39,39quot amp txtemail. Text amp quot39,39quot amp txtphone. Text amp quot39,39quot amp txtres. Text amp quot39,39quot amp txtentry. Text ampli quot39) quot

No comments:

Post a Comment