엄격한 옵션을 사용하여 FileHelpers를 사용하면서 발생하는 오류를 어떻게 제거 할 수 있는지 결정하는 데 몇 가지 문제가 있습니다.FileHelpers Master/Detail - Option Strict On은 후기 바인딩을 허용하지 않습니다.
<DelimitedRecord(";")>
Public NotInheritable Class CabecDocVgr
Public TipoLinha As String
Public Doc As String
Public Entidade As String
Public DataDoc As String
Public RefDoc As String
End Class
이 하나, 자세한 사항은 :
나는이 주 (主)의 클래스 인 MasterDetailEnginePrivate Function ReadCsvFile(ByVal fileName As String, ByVal tipodoc As String) As Boolean
engine = New MasterDetailEngine(GetType(CabecDocVgr), GetType(LinhasDocVgr), CommonSelector.MasterIfContains,
"@")
_res = engine.ReadFile(strStartPath)
Return true
End Function
를 호출하는 클래스 MasterDetails에게 기능을
Private _res As MasterDetails()
초기화 :
<DelimitedRecord(";")> _
Public NotInheritable Class LinhasDocVgr
Public Tipolinha As String
Public Artigo As String
Public Armazem As String
Public Localizacao As String
Public Lote As String
Public Qtd As Integer
Public UniMedida As String
Public DataValidade As String
End Class
각 마스터/세부 정보는 헤더와 관련 행이있는 새 문서를 만드는 것입니다.
오류가 표시되는 위치를 내가 마스터 또는 세부 클래스의 멤버 호출 할 때 나는 하나의 예를 줄 수 "옵션 엄격한에 바인딩을 허용하지 : _res(numdoc).Master.refDoc
를 호출 예를 들어
Private Function TransformaDocF(ByVal tipoDoc As String) As Boolean
For numdoc As Integer = 0 To _res.Length - 1
Dim documentosOrigem(0) As Object
Dim docOrigem As New GcpBEDocumentoCompra
Dim docDestino As New GcpBEDocumentoCompra
Dim query As String = String.Format("SELECT TOP 1 NumDoc FROM cabecdoc WHERE RefDocOrig='{0}'",
_res(numdoc).Master.doc)
Dim lista As New StdBELista()
lista = Motor.Consulta(query)
If Not lista.Vazia Then
If Not lista.NoInicio And Not lista.NoFim Then
Dim numeroDoc As Integer = CInt(lista.Valor("NumDoc"))
'bExecuta = True
End If
End If
docOrigem = Motor.Comercial.Compras.Edita("000", "VGR", "2013", _res(numdoc).Master.doc)
documentosOrigem(0) = docOrigem
docDestino.TipoEntidade = "F"
docDestino.Serie = "2013"
docDestino.Entidade = docOrigem.Entidade.TrimStart(CChar("0"))
'DocDestino.DataDoc = "01-01-2013"
docDestino.Tipodoc = "VFA"
docDestino.RefDocOrig = _res(numdoc).Master.refDoc
Try
If docOrigem.Linhas.NumItens > 0 Then
For numlinha As Integer = 0 To _res(numdoc).Details.Length - 1
If docOrigem.Linhas(numlinha + 1).Artigo = _res(numdoc).Details(numlinha).Artigo Then
docOrigem.Linhas(numlinha + 1).Quantidade = docOrigem.Linhas(numlinha + 1).QuantSatisfeita +
_res(numdoc).Details(numlinha).Qtd
End If
Next
End If
Motor.Comercial.Vendas.TransformaDocumentoEX2(documentosOrigem, CType(docDestino, GcpBEDocumentoVenda), True)
Return True
Catch ex As Exception
MessageBox.Show(ex.Message)
Return False
End Try
Next
Return True
End Function
는 나에게 오류를 제공 "
내가 수정할 필요가있는 사항에 대한 의견이 있으면 오류가 사라질 수 있습니까?
고맙습니다.
어떤 오류가 발생합니까? 또한, 귀하의'FileHelpersEngine'이 사용 된 곳을 볼 수 없습니다. – shamp00
@ shamp00 편집 : 어떻게 MasterDetailsEngine을 사용했는지 및 오류를 보여주기 위해 편집되었습니다. –