내 GetRawData
함수가 VB.NET 응용 프로그램에서 호출 될 때 올바른 값을 반환 할 수 있지만 ASP.NET 페이지에서 호출 될 때 0을 반환 할 수 있습니까?선언 된 DLL 함수의 동작이 일치하지 않습니다.
클래스 형식 차이 (Form/Page) 및 호출 이벤트 처리기 (Form1_Load, Page_Load)를 제외하고 코드는 완전히 동일합니다.
참고 : 실제 코드에서 # DLL #과 # RAWDATAFILE #은 모두 내 DLL과 원시 데이터 파일에 대한 절대 파일 이름입니다.
참고 : Visual Studio에서 DLL 파일을 만들지 않았습니다.
Form1.vb를
Public Class Form1
Declare Auto Function GetRawData Lib "#DLL#" (ByVal filename() As Byte, _
ByVal byteArray() As Byte, _
ByVal length As Int32) As Int32
Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
Dim buffer(10485760) As Byte
Dim msg As String, length As Integer = 10485760
Dim filename As String = "#RAWDATAFILE#"
length = GetRawData(Encoding.Default.GetBytes(filename), buffer, length)
Default.aspx.vb
Partial Public Class _Default
Inherits System.Web.UI.Page
Declare Auto Function GetRawData Lib "#DLL#" (ByVal filename() As Byte, _
ByVal byteArray() As Byte, _
ByVal length As Int32) As Int32
Protected Sub Page_Load(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.Load
Dim buffer(10485760) As Byte
Dim msg As String, length As Integer = 10485760
Dim filename As String = "#RAWDATAFILE#"
length = GetRawData(Encoding.Default.GetBytes(filename), buffer, length)
Encunch.Default.WebName을 인쇄하면 두 환경에서 모두 동일합니까? –
예, 동일합니다. – Steven