When Calling Unmanaged Code From .NET, Is It More Reliable To Use DECLARE LIB Or DllImportAttribute
Aug 20, 2010
We have a VB.NET program that needs to periodically call a function in an external, unmanaged DLL to communicate with our legacy application. We are having a problem with the application (seemingly) randomly not being able to find the DLL with the unmanaged code. Currently we use DECLARE FUNCTION blah LIB for the unmanaged code. Would it be better/more reliable to use DllImportAttribute instead? Or am I missing something else?
View 1 Replies
ADVERTISEMENT
May 30, 2012
I need to write a DLL in C that is used a plugin for an existing application.The DLL has to be compiled by the Visual Studio 2008 compiler with the following options.[code]It's then linked to applications library's.What it actually needs to do and what's causing me the issues is that within one of the methods it needs to pull data from a sql server 2008 r2. From what I've seen today you wouldn't be able to do this directly in C as SQL Server past 2005 is designed to communicate with CLR languages( C#, C++, VB.Net).It was suggested that I handle all the database communication with a VB.Net dll and then call said function from within the C dll. Most of what I've found on the topic of calling managed dll's from unmanaged code has talked about pinvoke or com wrappers and mainly from the perspective of c++.
View 2 Replies
Jan 20, 2011
I really need little help with unmanaged dll access from VB.NET, have been working on it about a week. I have a C++ .h files with headers. I have to access one function from the dll using VB.NET:
int
acsGetEventPoll (int acsHandle,
void FAR*eventBuf,
unsigned short FAR*eventBufSize);
Documentation says that eventBuf is a buffer where structure of type CSTAEvent_t is put after the function call. Type is defined as:
[Code]...
View 1 Replies
Dec 1, 2009
I am trying to use an unmanaged dll in my VBE2008 Project. My application works fine on my computers (3 Vista sp1 and 2 XP sp3 / all with .net framwork 3.5), but after the sp2 update for 2 of Vista machines, it throws often an AccessViolationException (on those machines with Vista sp2). The error message is:"Attempt to read or write protected memory. This is often an indication that other memory is corrupt."I have checked and found that the exception was thrown by the dll call-sub.
<DllImport("RefProp.dll", EntryPoint:="SETUPdll", SetLastError:=True, CharSet:=CharSet.Ansi, _
ExactSpelling:=True, CallingConvention:=CallingConvention.StdCall)> _
[code].....
View 6 Replies
Aug 9, 2010
In VS2010 I'm encountering a PInvokeStackImbalance error when I call an unmanaged C function that takes a string argument. This only happens in VS2010 (works fine in earlier versions of vs). I know the MDA is more strict in VS2010 but I can't seem to figure out what the actual problem is.
[Code]...
View 2 Replies
May 5, 2009
I have an application which has been succesfully installed on a number of different client machines.
The problem I now have is that I have been asked to allow third party applications, possibly written in a non .net language set to plug into my application and execute some of the code. Just a handfull of properties and half a dozen methods.
Now I can wrap up these properties/methods, make them public and have them in their own project which will be part of my solution but I have no idea where to go from here.
How do I make this portion of my application accessible to a third party application written in unmanaged code ?
View 1 Replies
May 23, 2011
What should be the VB signature for the unmanaged function void PopulateBSTR(BSTR outstring)?The function PopulateBSTR does a SysAllocString and populates the string. Note the unmanagaed signature has the argument BSTR and not BSTR*. I can marshal the BSTR string using IntPtr signature when the C++ signature has BSTR* as the argument.
(The unmanaged code is an external dll which I cannot modify but I need to use.)
View 2 Replies
Sep 19, 2010
I am trying to develop a dll in VisualStudio2005 in vb.net that will communicate with a spectrometer attached to the USB port of the computer.Now the dll exists in C++ and it works like a charm. It is unmanaged code.Now if I try to translate this code in VB.net (because our app is in VB and my boss wants it in VB for maintainability) I have problems.
First of all, I am trying to create a file to open that port. The code in C++ looks like below and it works. Needles to say I tried to call the C++ dll from our app and it works. If I call the vb dll it doesn't. It gives me "access denied" no matter what I tried. I am not sure if my CreateFile is wrong or it's .net. I read somewhere that I need a manifest file included in the dll? Has anyone experience something like this? Why would i get "ACCESS DENIED" all the time?
// close and clear current stuff
ClosePort();
swprintf( sDevice, L"\\?\usb#vid_0765&pid_%s#******#{%s}", Device, PRIVATE_IID_STR );
[code].....
View 4 Replies
Feb 19, 2010
I am having a problem marshaling data between managed and unmanaged code. So I need to inspect the data at the byte level. What I need to do is store a number, say 8 into a 4-byte integer then copy it to an array bytArray(4) and compare those bytes with other data. I also need to set up the same array and copy it to an integer variable.
View 2 Replies
May 10, 2009
First of all; I'm completely new to VB.
Pass a string array from Visual Basic Express 2008 to unmanaged code in a Dll.The array is Dimmed as in DIM myArray(11) as String
I'm developing the dll myself using Powerbasic.
The dll expect a 4 bytes pointer to a safearray's handle. As far as I have understood it; the array's string elements must be passed in ANSI format. The code in the dll will then use OLE Api to get the LBound and Ubound of the array and the address of the first element in array.
View 2 Replies
Apr 25, 2011
In my managed VB.NET code, I am able to write a file out to my desktop. Although, the statically referenced unmanaged code is unable to. I have hunted all over MSDN to find out how I can elevate the security permissions for this library method, but am unableto find anything.I declare the method as...Declare Sub WriteFile Lib "DataLog.dll" (ByVal fileName As String)Although, it throws an exception due to being forbidden from writing to the desktop. Is there an attribute
View 7 Replies
Jan 1, 2012
What I am trying to do, is perform some edit checks on required fields in my page. When the "Submit" button is clicked, I wish to check execute a javascript function that does these checks.
The way I'm envisioning it is to declare a server-side variable in my VB.Net code-behind, set this value in the javascript CheckEdits() function and then back in the code-behind in the btnSubmit_Click() Event, check this variable.
View 5 Replies
Apr 6, 2011
I found this code to check internet connection on MSDN, but I am getting errors on the part of the code in bold, saying they have not been declared. how to declare these two things? I mean 'InternetGetConnectedState' and 'Flags'?[code]...
View 1 Replies
Aug 23, 2009
I use it as a timer(obviously) to get the lapsed time of an upload. Something that took 2 secs it said 12. [code] Everything looks right. and it seemed to be working. Just in no way did it take 8 or 12 secs to send
View 4 Replies
Feb 16, 2011
Is there relialbe alternative to Timer class in .Net?We are having issues with System.Timers.Timer and System.Threading.Timer, e.g., they start immidietly, or sometimes fire out after long period of inactivity (after 49 days).I've seen that there seems to be a lot of issues with them like here: url...We can not use Forms timer.We are thinking to pause the thread for certain period of time instead of the timer...
View 4 Replies
Jun 29, 2010
I am reading a file and loading the records read to a database. At the end of this process there needs to be a check that the counts match. This code was already written and the comment doesn't give me great confidence in it: ' Description: Get the number of lines in the record file. Thisshould give a good indicator of the number of recordsIt should or it will, using this code?:
Dim i As Integer = -1
Dim line As String = ""
Dim sr1 As StreamReader
[code]....
Then i is returned as the count of records in the file. Is this the best way and is it reliable? Records in the file are delimited with a newline
View 8 Replies
Dec 2, 2010
What is the most reliable path to export data? I have a Access db used by many. I have a button that export the data to the desktop. It works great for most but a few people get a error that it is open exclusively or they need permissions to view.How can I fix this error? [code]MsgBox "This data has been sent to your Desktop", vbExclamation, "Request Complete"
View 7 Replies
Jul 13, 2011
I see so many programs take command-line arguments with flags, for example gcc hello.c -o hello. Of course, I can implement that in my application:
Dim args() As String = Environment.GetCommandLineArgs()
Dim oi As Integer = Array.IndexOf("-o", args)
If oi > -1 AndAlso oi < args.Length Then
CompileTo(args(oi + 1)) 'Or whatever
Else
CompileTo("out.exe") 'Or whatever
End If
But it's ugly and annoying to use, prone to errors, and inefficient. What's the better way that I keep overlooking?
View 3 Replies
May 4, 2012
Does anyone know of a reliable way to cancel the ItemCheck event on a CheckedListBox? I am in a situation where the ItemCheck event should basically discard changes on a form, however, if the person decides to cancel the discard I would like the ItemCheck event not to fire so as not to change anything.
View 2 Replies
Jan 20, 2012
I eyed VB.NET 2010 Express and created the damn app. It's up and running and it does what it's supposed to do (in v1). Now I'd like to distribute it for free while:
(1). Have a reliable way of knowing (and everybody can check this out) the number of downloads.
(2). The app cannot be passed from one user to another, but has to be downloaded from the reputable biz (there can be more than one biz) that accurately provides the number of downloads.
(3). I can have total control over the app (once it's downloaded by the users), that is if I want to inform the users of updates or whatever, or if I want to add some ad windows to the form I can do it whenever I want and how I please.
How do I do (1) to (3)? What am I supposed to read to do (3)? ADO.NET and ASP.NET? Any shortcut? What's the easiest way of doing it? I'm not sure I'm looking for a career in programming, for now I just want to take this app off my shoulders and go back to daydreaming.
View 4 Replies
Apr 28, 2011
how reliable is LastWriteTimeUtc to synchronize 2 folder on 2 different computers? what problems could rise using LastWriteTimeUtc.is there a better way to see if a generic file is of a newwer version?
View 7 Replies
Oct 19, 2009
I can call C code from Visual Basic by compiling that C code into DLL's.
1. Does it have to built in Microsoft Visual? Or is something built with MinGW okay?
2. How do I add it into my VB project?
3. How do I actually make the function call? (given that VB and C syntax obviously have some differences)
View 5 Replies
Jan 26, 2010
I have a project that has some VB code in it that I'm not allowed to convert to C#. I work in C# and not very good at VB, but I am needing to modify that VB code to use some C# methods I created.
For example:
C#:
Code:
using MGCIS2.Reporting;
using CrystalDecisions.Shared;
[code]....
At this line in the VB code (Dim crv As New Tax.Reports.CrystalReportViewer(_rdbc)) it is giving me an error:Too many arguments to 'Public Sub New()'
View 1 Replies
Aug 16, 2011
I have to call a Javascript function that takes 2 parameters and opens a new window. I need to call this function from VB.Net code-behind and I'm not sure how to do this. I can't find any examples of how this is done. Anyone have any ideas?
View 7 Replies
Dec 13, 2010
What exactly does the "calling code" means? A method to do an action?or else.,
View 6 Replies
Dec 18, 2010
i used v s 2008..i create a windows form application in vb.neti want help in which .........if i exit a sub *check_fill_for_New()* using EXIT SUB then in *bt_Ok_Click* sub not fire a msgbox......but it will also EXIT at half
[Code]...
View 1 Replies
Apr 9, 2010
I created a DatePicker user control (ASP code below, no code behind) which is simply a textbox, image button, and a sometimes visible calendar.
[Code]...
Can I somehow tie or pass the value of the TextBox as the value of the whole control to use in the calling code? EDIT: My actual goal here is to be able to tie the SelectedDate as a parameter of a database query. I was able to select values for the other parameters in a controls dropdown list in a query parameter configuration window.
View 2 Replies
Oct 17, 2010
I have a function that is exported by a C library with the following signature:
extern "C" BOOL Func()
The function is declared in VB.NET code like this:
<DllImport("mylib.dll", CallingConvention:=CallingConvention.Cdecl)>
Private Shared Function Func() As Boolean
End Function
The problem is that I get an ExecutionEngineException when I call the function from .NET code.
Given that BOOL is typedef'd as int in this C code, should the declaration be different? If so, how should I be declaring this? As Short or Int32? Do I need to marshal the return value?
View 1 Replies
Aug 25, 2010
I am pretty well a novice to Visual Basic 2010 and am trying out the VB2010 express edition. I not the the coding syntax for VB2010 is different from VB6. I'd like well documented code for opening Excel, creating/opening a Workbook, reading and writing data and closing Excel Workbook when I exit the VB2010 form.
I am developing a VB2010 application form which I'd like to work dynamically with an existing MS 2003 Excel spreadsheet that will be provided with the application . The VB2010 form provides some data input for cells in a worksheet (named "Fuels") in an existing Excel Workbook called "carbonfootprinter.xls". Based on the input data, calculations are performed and the corresponding results are output to other cells in the same "Fuels" worksheet. The results are then also graphed in the Excel Workbook. When the application form loads, I'd like VB2010 code that checks if the "carbonfootprinter.xls" exists and is open, if not then it should be opened to receive data input from the VB2010 form and to perform calculations,and finally the VB 2010 application should close the Excel spreadsheet
View 1 Replies
Jul 9, 2010
I Have just been watching a video on throwing Exceptions. Are you supposed to throw System.Exceptions from within your custom classes. to the calling code, Which other way can they communicate. I have read in several places it is bad practice to throw SystemExeptions.
View 3 Replies