kcvinu Posted July 26, 2015 Posted July 26, 2015 (edited) Hi all,I have made a dll file in vb.net with a single function which returns a List(Of String). I have double check the name of the function. But it gives me an error number3. That means, function not found in the dll file. What to do ?this is my codeLocal $dllPath = "E:\VB Works\OLEDB COM Works\TestApp\OLEDBtest\OLEDBtest\bin\Debug\OLEDBtest.dll" Local $DBpath = "E:\KSEB METER READING\MRDB.accdb" Local $SQL_Query = "SELECT Reading FROM DMR" Local $hDll = DllOpen($dllPath) Local $CallingDll = DllCall($hDll,"str","OneColumnFromDB","str",$DBpath,"str", $SQL_Query) if @error Then Alert(@error) Else Alert("OK") EndIf Exit DllClose($hDll)And this is vb,net codeImports System.Data.OleDb Public Class SelectFromDB Public Function OneColumnFromDB(ByVal DBpath As String, ByVal SQLstr As String) As List(Of String) Dim RetValues As New List(Of String) Dim Conn As New OleDb.OleDbConnection Dim Cnstr As String = "Provider = Microsoft.ACE.OLEDB.12.0;Data Source = " & DBpath Conn.ConnectionString = Cnstr Dim Cmd As New OleDb.OleDbCommand(SQLstr, Conn) Try Conn.Open() Dim Sdr As OleDb.OleDbDataReader = Cmd.ExecuteReader While Sdr.Read() RetValues.Add(Sdr.Item(0)) End While Sdr.Close() Cmd.Dispose() Conn.Close() Catch ex As Exception RetValues.Add(ex.Message) Conn.Close() End Try Return RetValues End Function End Class Edited July 26, 2015 by kcvinu Spoiler My Contributions Glance GUI Library - A gui library based on Windows api functions. Written in Nim programming language. UDF Link Viewer --- A tool to visit the links of some most important UDFs Includer_2 ----- A tool to type the #include statement automatically Digits To Date ----- date from 3 integer values PrintList ----- prints arrays into console for testing. Alert ------ An alternative for MsgBox MousePosition ------- A simple tooltip display of mouse position GRM Helper -------- A littile tool to help writing code with GUIRegisterMsg function Access_UDF -------- An UDF for working with access database files. (.*accdb only)
trancexx Posted July 26, 2015 Posted July 26, 2015 To use DllCall you have to find a way to export your function from the dll. It's not as trivial as one could think in case of VB.NET ♡♡♡ . eMyvnE
kcvinu Posted July 26, 2015 Author Posted July 26, 2015 @trancexx , You mean, my vb.net code is wrong. do you ? Spoiler My Contributions Glance GUI Library - A gui library based on Windows api functions. Written in Nim programming language. UDF Link Viewer --- A tool to visit the links of some most important UDFs Includer_2 ----- A tool to type the #include statement automatically Digits To Date ----- date from 3 integer values PrintList ----- prints arrays into console for testing. Alert ------ An alternative for MsgBox MousePosition ------- A simple tooltip display of mouse position GRM Helper -------- A littile tool to help writing code with GUIRegisterMsg function Access_UDF -------- An UDF for working with access database files. (.*accdb only)
guinness Posted July 26, 2015 Posted July 26, 2015 I didn't take trancexx's comment as being that either. As mentioned before I am not a VB.NET dev, but in C# we would register the assembly using regasm.exe. See >> https://www.autoitscript.com/forum/topic/166704-net-compiled-dll-assembly-in-autoit-the-simple-approach/ kcvinu 1 UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018
kcvinu Posted July 27, 2015 Author Posted July 27, 2015 (edited) @guinness, Yes, i know about regasm. But i thought that it's only needed when we want to create a COM dll. Now, you are saying that, i need to register this dll with regasm. Ok. Let me try. Thank you @guinness , Thank you for the link. In that post, you said that to copy paste the dll from Debug dir to Script dir. In my case, dll file is still in the Debug dir. But i wonder, my function only returns error number 3, that means "Function not found in the dll file". Not the dll. Edited July 27, 2015 by kcvinu Spoiler My Contributions Glance GUI Library - A gui library based on Windows api functions. Written in Nim programming language. UDF Link Viewer --- A tool to visit the links of some most important UDFs Includer_2 ----- A tool to type the #include statement automatically Digits To Date ----- date from 3 integer values PrintList ----- prints arrays into console for testing. Alert ------ An alternative for MsgBox MousePosition ------- A simple tooltip display of mouse position GRM Helper -------- A littile tool to help writing code with GUIRegisterMsg function Access_UDF -------- An UDF for working with access database files. (.*accdb only)
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now