はじめまして。ちょっと前からActiveBasicを使ってます。
さっそくAB5にてDLLを作ってみようと試したのですが、呼び出し時にメモリエラーになってしまいます。
コード: 全て選択
Dim iniFileName(255) As String
Function Export OpenFile(ByVal fID As Integer, ByVal sFileName As BytePtr) As Integer
If fID < 0 Or fID > 255 Then
OpenFile = 1
ElseIf iniFileName(fID) <> "" Then
OpenFile = 2
Else
iniFileName(fID) = MakeStr(sFileName)
OpenFile = 0
End If
End Function
このようなコードで、呼び出しはVB6から行いました。
コード: 全て選択
Private Declare Function OpenFile Lib "test.dll" (ByVal fID As Integer, ByVal sFileName As String) As Integer
Private Sub Form_Load()
Debug.Print OpenFile(0, App.Path & "\test.txt")
End Sub
MakeStrを無しにしてみたり、AB側のバグかなと思って4.24、4.23……4.20まで下げて試してみましたが全部同じメモリエラーが発生しました。
何がいけないのでしょうか、ご教授よろしくお願いします。