How To Use Managed Callback
May 12, 2011
I am writing classes in VB.Net (both managed). The main class "A" creates an instance of "B". Class "B" must call a method of Class "A". I need to know two things (syntax, etc...):
1. How does class "A" tell class "B" what method to call?
2. How does class "B" call the method?
The method must pass back an array of Shorts (in this particular example), either as a return value, or as a ByRef argument.I don't want to use an event if I don't have to. The execution is timing critical. (I assume event handling involves a lot of overhead by the operating system, but I may be wrong.)
View 1 Replies
ADVERTISEMENT
Jun 19, 2012
I'm trying to use a .DLL which Callbacks a Function of my project, but I can't get it to work.
Declaration from .h file of .DLL
void DLL_EXPORT SetEntity_CallBack(bool Active, _
void (*Entity_Callback)(int Site, int Application, int ID, _
[Code].....
View 11 Replies
May 3, 2010
What's the advantages of the above types of dll? Is there any other type?
View 1 Replies
Aug 17, 2009
I have this code obtaining data from a sensor that is sending a string that contains 4 numbers separated by a tab and terminated by an end of line/ I am trying to use an asynchronous callback to get the data over TCP. That problem is that the callback function is not grabbing the complete string. Sometimes it will, other times it gets half in one retrieve and half in another. I need the callback to hold off until it gets a newline character.
Code:
Public Sub readVaisala()
Dim ip As String = "192.168.1.30"
Dim portNumber As Integer = 23
Dim time As Int32 = Now.Second * 1000 + Now.Millisecond
[code].....
View 2 Replies
Mar 3, 2011
I have a C++ dll that contains a callback. The callback has one parameter that is passed in and one parameter that is passed out. The parameter that is passed from C++ is a variant. So, we are going from a variant in C++ to an object in VB.NET. The function works. However, It seems that there is a memory leak on the VB.Net side. This must be a Marshaling issue. I have tried to use the MarshalAs Functions, but to no avail.
VB.NET
Declare
Function EnableWriteNotification
Lib
[code]....
View 2 Replies
Jan 4, 2011
there is error when i use callback function A callback was made on a garbage collected delegate of type 'skynet1!skynet1.Form1+myCallBack::Invoke'. This may cause application crashes, corruption and data loss. When passing delegates to unmanaged code, they must be kept alive by the managed application until it is guaranteed that they will never be called.
View 6 Replies
Aug 8, 2011
I am working on a Twitter application and with the authentication process, Twitter returns Two Tokens with a Callback URL, For example: [URL]. How do I extract each token and put them into separate strings?
View 5 Replies
Apr 27, 2012
I have absolutely no background on programming in C (or any other unmanaged languages for that matter) yet I would like to use the GetBestInterface function from the IP Helper API in my .NET application. I tried to understand how P/invoke calls can be used to make calls to native methods, but there are many things that just don't make sense to me (like how types in managed code map to unmanaged types).
Is there an alternative function somewhere hidden in the System.Net namespace that does roughly the same thing? Or could I write my own alternative using existing base classes combined with some magic? Because that's basically what it seems to me: magic. There is no real explanation for how the method accomplishes what it does as far as I can tell...
I just discovered the LocalEndPoint property on the System.Net.Sockets.Socket class which I think could be quite useful in this. To my understanding it will do the best-interface-picking on my behalf and I'll just need to get the NIC that corresponds to the local endpoint.
View 1 Replies
Jun 13, 2006
I am having a very strange memory leak that seems related to databinding. It is very hard to reproduce, so I won't post any code here to do so, but will just describe the problem.We have data entry forms which have controls which bind to custom business objects through a BindingSource object.
View 7 Replies
Apr 10, 2009
Is it possible to start another EXE in Managed Code? At this time, all I can do is use:
System.Diagnostics.Process.Start(exeName)
Is there another way to call another EXE within the same project?
View 4 Replies
Jun 20, 2012
Is there anyway to create an OS or Managed thread, so that it can never be interrupted. Thread/Process priorities are not enough.
View 2 Replies
Feb 2, 2011
I do not know Why I am recieving a TimeOutException in my code:
Dim Uri2 As New Uri("http://localhost:8733/Design_Time_Addresses/ssWcfService/Service1/")
Dim binding2 As New WSDualHttpBinding()
Dim callback = New MyCallBackClient()
[Code].....
View 1 Replies
Feb 21, 2012
I am a relative newcomer to Windows programming and VB.net. What we are trying to do is call a function in an existing, 3rd party COM dll. This function requires a callback parameter, whose type is an interface also defined in the dll.In our VB.net application, we have added the dll as a COM reference, and created a class that implements the interface in the DLL. We then send an object of that type as the callback parameter. This compiles fine. However, when we run the application, we receive an error stating that the program is unable to cast the object from our existing type to the interface type.
I suspect that there is a simple fix, but so far, my efforts to find a solution have come up short. If anyone could point me in the right direction,
View 1 Replies
Jun 12, 2009
I have a bunch of operations that need to be executed simultaneously. For this I'm using the thread pool to execute the tasks. I'd like to know if it's possible to consume some sort of Async Callback (similar to BackgroundWorker.DoWorkComplete) when each thread is finished. The reasoning behind this is that I have a windows service running that uses IPC to update a GUI and I need to know the time at which each specific thread finishes I've used background workers to do a set of tasks and they work perfectly, however, they take longer than I would like. I've timed the execution on my BGW method for a designated number of said tasks and it took 27 seconds, and the same set of tasks takes 4 seconds using the threadpool method. I've also tried using managed threads, to the same effect as the background workers.
View 5 Replies
Feb 1, 2010
I have a class with a mthod which does a a time consuming task. I know how to start the method in a separate thread using the Threading.Thread class. What I want to do is use callback so as to have the method report its result to another method when completed. I chose to use the asynchronous Begin/End call pattern.
Private Function BeginConnect(ByVal URl As String, ByVal callback As AsyncCallback, ByVal state As Object) As IAsyncResult
'Some Code
End Function
[code]....
View 13 Replies
Mar 23, 2011
Situation: i've created several forms with a datagrid:formwithdatagrid1formwithdatagrid2formwithdatagrid3.... These datagrid can be filled manually or with a selection list. I've written this selection list a a new form (frmSelectionList), witch is called with a SQL instruction, now this selectionlist calls a funtion in formwithdatagrid1 to return the selected value. Question:How can the same selectionform being used for all datagridforms?
[Code]...
View 4 Replies
Oct 20, 2010
I'm trying to convert C++ API to VB.Net, but this function is too hard and i don't know how make it work.
Here is the API doc for this function:
void RemoteDllSetReceiver(void *inst, on_received_buffer_t received_buf_cb);
Sets a callback function to receive notifications from the DLL. The prototype of the callback is:
typedef bool (*on_received_buffer_t)(void* inst, const unsigned char *buffer, unsigned int size);
Where inst is the pointer originally passed to RemoteDllSetReceiver buffer & size contain the notification text as defined in the Remote Protocol. Note: notifications may arrive in different threads (e.g. network, timer, audio).
I can't imagine what i mus do with on_received_buffer_t, must it be a delegate? Like you can read, this functions returns notifications from the DLL like connection status, user id...
View 1 Replies
Dec 14, 2009
I've used the async classes in the .NET framework several times but I've never tried to do something like that myself - I mean I've used background threads and made them invoke other methods on the UI thread loads of times but they have always been hard coded method names, not something where you can specify what method is invoked when the background thread is finished.
I'm writing the data access layer for my current project and I want to have all of the methods be asynchronous, so these methods in the DAL need to be able to 'call back' any method that is specified, rather than a specific method in the same project as I would normally do. This is how I have done it, and it seems to work, but I'm not sure that this is the best way or even close... Here is the signature of public method in my DAL that my programs call:
[Code]...
View 4 Replies
Nov 16, 2011
why my mciSendString callback isn't working?the app is a console app, with a nativeWindow msgHandler class.
here's the code:
Imports System.Windows.Forms
Public Class msgHandler
Inherits NativeWindow
[code].....
View 2 Replies
Jun 12, 2012
I have event Button that creates text box in run time.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim textbox1 As New TextBox
static Dim shiftDown As Integer
static Dim counter As Integer
[code]....
All the text boxes that has been created displayed in GroupBox control dynamically. how GroupBox control size can be managed according to quantity controls inside it.
View 1 Replies
Apr 7, 2011
I have a .Net application (VB in particular, although I would this to be as language agnostic as possible) that uses a COM object (made in C++). I need to implement a event in COM that passes a char array from C++ to .Net. I guess I need to convert the array to a managed array; How can I do this?
View 2 Replies
Jul 26, 2010
I am well aware that finalizers are typically used to control unmanaged resources. Under what circumstances may a finalizer deal with managed ones? My understanding is that presence in the finalizer queue will prevent any object, or objects strongly referenced thereby, from being collected, but it will not (of course) protect them from finalization. In the normal course of events, once an object is finalized it will be removed from the queue and any objects it references will no longer be protected from collection on the next GC pass. By the time a finalizer is called, the finalizers may have been called for any combination of objects referred to by the object; one cannot rely upon finalizers being called in any particular sequence, but the object references one holds should still be valid.
[Code]...
View 4 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
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
Jun 1, 2011
In My application, I have an MDI form. From MDI form I open all forms as child forms. I have implemented IDisposable for all large objects like file stream DB connection etc. In the Form_Disposed event I dispose all unmanaged objects. After the child form is closed, all unmanaged objects are disposed but managed objects (controls and form) are not disposed and still in memory. I find it from .Net Memory Profiler ([URL]).
So I have write code to remove all event handlers of all controls and form. Now, When form closed, dispose is called and all event handlers and controls are disposed, but controls and form are still in memory.
View 2 Replies
Feb 11, 2012
I am using a slightly modified version of this code. to create a mission critical application. That files that will be encrypted are very important. This has to be done from scratch because there are some other things that has to be done along with this. How secure is this? Its impossible to crack this encryption right? [Code]
View 2 Replies
Oct 27, 2010
I am developing a solution (VB.NET and Netframework 4.0) with a main executable and several DLLs (VB.NET and Netframework 4.0).The main program, among other things, shows datagriviews with lists of customers, providers, etc. and offers to add or edit them.If the user asks any of these actions in a customer's list, for example, I create a new customer class (which is contained in a DLL called customer) and pass to it the desired action.The DLL creates and shows the form to fill customer data and handles the edition/addition and the database update (add/update records).If a customer was actually added or its information changed, I should refresh the datagridview; if the addition/edition was cancelled there is no need to refresh it.I don't know how to code the DLL to notify the main executable that it needs to refresh the datagridview and I don't want to refresh it always, since there could be thousands of customers.
View 2 Replies
Jan 24, 2010
How to identify the x64 or x86 of the OS and a Process in managed code?
View 1 Replies
Nov 4, 2010
Our company has relied heavily on COM+ components to centralize our DAL code and take advantage of the ability of COM+ to handle transactions and connection pooling. When we started using COM+, it was just with VB6 DLLs and always through late-binding so we could take advantage of DLLs being hosted on a different server.When we started moving to .NET in 2005, we ported our DAL functionality to .NET and continued to use COM+ and late binding to host the components. We would instantiate the objects like so: objBalLauncher = CreateObject("NETBLL.Launcher", "\" &strCOMPlusServer Name)I noticed that CreateObject seems to be for ActiveX COM components, so this has me thinking about two things:If COM+ was designed for unmanaged components, is there a cost to using COM+ with managed .NET DLLs?Is there a cost to using CreateObject() to late-bind to an assembly from within .NET code? Does this force your code to cross the managed/unmanaged barrier to communicate with the DLL? While I would be interested in hearing about alternatives to COM+ (which I'm sure are available by now), I'm most interested in hearing about what expense I incur from using managed DLLs within COM+.
View 1 Replies
Feb 14, 2011
How can I show a form as a child of a window that isn't in my program?I have a window handle to what should be the parent, but I don't see any managed method for SetParent() on a form. Is there one? It also seems that the form.Show() method only accepts managed objects implementing IWin32Window.f there isn't a managed method, what is the preferred method for declaring the API for maximum compatibility with future systems? Like this?:
<DllImport("user32.dll")> _
Private Shared Function SetParent(hWndChild As IntPtr, hWndNewParent As IntPtr) As IntPtr
End Function
[code].....
View 1 Replies