|
Hello,
I'm using a third party COM dll, which I've referenced in my C# project. However, when I call a certain function in it, it throws an error message saying "The instruction at 0x10153c89 referenced memory at 0x0751629c. The memory could not be 'read'" and then the application terminates.
Is this most likely to be an error in the COM dll, or does anyone else have any other ideas on what the problem may be?
When Visual Studio generates the interop assembly for the COM dll and places it in your build output directory, how does it 'route' the function calls to the actual COM dll it wraps, or is this information contained within the interop assembly itself?
Thanks for your time and help
Shehzad
|
|
|
|
|
cheeze103 wrote: When Visual Studio generates the interop assembly for the COM dll and places it in your build output directory, how does it 'route' the function calls to the actual COM dll it wraps, or is this information contained within the interop assembly itself?
The COM interop assembly contains the globally unique identifier (GUID) of COM object it's calling. The CLR will marshal the data between managed and unmanaged appropriately (sometimes with hints from code, such as the MarshalAsAttribute).
As far as the error, there's no way that we can know. Can you show us the function signature (both native COM and .NET wrapper) for that function that's causing the error?
Tech, life, family, faith: Give me a visit.
I'm currently blogging about: Is Jesus the Jewish Messiah?
The apostle Paul, modernly speaking: Epistles of Paul
Judah Himango
|
|
|
|
|
blockquote class="FQ"> Judah Himango wrote: As far as the error, there's no way that we can know. Can you show us the function signature (both native COM and .NET wrapper) for that function that's causing the error?
Sure:
in 'original COM dll' (shown in VB6):
<br />
Public Sub ConnectProjectEx(_ByVal DomainName As String,_ByVal ProjectName As String,_ByVal UserName As String,_ByVal UserName As String,_Optional ByVal Password As String = " "_)<br />
and in the interop wrapper (using ildasm):
<br />
.method public hidebysig newslot virtual <br />
instance void ConnectProjectEx([in] string marshal( bstr) DomainName,<br />
[in] string marshal( bstr) ProjectName,<br />
[in] string marshal( bstr) UserName,<br />
[in][opt] string marshal( bstr) Password) runtime managed internalcall<br />
When I pass to this function an invalid username or password, it actually throws an exception, saying 'The user so and so does not exist'. However, when I give it a correct user, it throws the application error I mentioned before - it seems that it gets further in the dll function, and then fails, and since I can't see the actual code in the COM dll (since it's third party), I don't know what to do!
Thanks for your help.
Shehzad
|
|
|
|
|
Hi,
I have developped no more Winforms applications since quite long.
I can't see how to create "global variables or objects" that would be shared among all the winforms?
In the webforms I was used to Session variables, but with winforms..? Any clue to do the same? Or in message driven way?
Any help is welcome.
Thanks a lot.
|
|
|
|
|
You could make your "global" variables members of a singleton Globals class that's accessible by all the forms in your application.
/ravi
My new year's resolution: 2048 x 1536
Home | Music | Articles | Freeware | Trips
ravib(at)ravib(dot)com
|
|
|
|
|
I accidentally deleted your email before reading it. You're better off posting a reply to a note instead of emailing the author.
/ravi
My new year's resolution: 2048 x 1536
Home | Music | Articles | Freeware | Trips
ravib(at)ravib(dot)com
|
|
|
|
|
You can create a static class with static instance variables, or consts, whichever works for you.
public static class MyGlobals{
public static int MAX = 10;
public static string HW = "Hello World";
}
Done!
|
|
|
|
|
Hello All,
I have a Bound DataGridView.
If I sort the Grid by any column, then Add a row programmatically....
myusersBindingSource.AddNew();
....the Row is 'added' to the top of the DataGridView - not the bottom, which I want.
Has anybody come across this before? Any suggestions?
Thanks
Jonny
|
|
|
|
|
Hi there!
Is it possible to retieve user nt name from the web request? This question
arose while thinking about authentication system implementation in the
asp.net.
my code --- string UserID = User.Identity.Name;
which returns Domainname\Userid
I want to make authentication process transparent for the user. E.g. if the
user is logged on the domain or is a member of the domain then perform
authentication autimatically - as a result user won't experience any login
windows, otherwise web-app will provide the form similar the IIS one for
authentication.
Can this be done from the web application?
Thanks in Advance
Krishna
|
|
|
|
|
hi all,
this seemingly simple problem is driving me nuts, can someone please tell me why the code below does not display any items in the combo box, and how i get them to show?
regards,
g00fy
IDictionary<string, Keys> keys = Program.KeyboardKeys;
string[] collKeys = new string[keys.Count];
keys.Keys.CopyTo(collKeys, 0);
foreach (CaptureHotkey hotkey in hotkeys)
{
DataGridViewRow row = new DataGridViewRow();
row.CreateCells(this.hotkeyGrid);
row.Cells[0].Value = hotkey.CaptureType;
DataGridViewComboBoxCell cell = (DataGridViewComboBoxCell)row.Cells[1];
cell.Items.AddRange(collKeys);
row.Cells[2].Value = hotkey.HotkeyCtrl;
row.Cells[3].Value = hotkey.HotkeyAlt;
row.Cells[4].Value = hotkey.HotkeyShift;
this.hotkeyGrid.Rows.Add(row);
}
basically what this is doing is providing a datagrid so users can edit hotkeys for particular operations, the IDictionary provides a subset of the System.Windows.Forms.Keys enum.
-- modified at 10:15 Wednesday 26th April, 2006
forgot to mention everything but the combo items are displayed properly for each row
|
|
|
|
|
Hi Everyone,
I am wondering what the best method is in order to continuously execute code while the user is pressing a button. For example, I am just making a dummy/test application right now, it only has a progress bar, and an UP and DOWN button. In the UP button code, I have it set to ProcessStep() to increment the progress bar. What I would like to do is somehow execute code over and over while the user is pressing down on the UP button (so they press and hold and it keeps ramping up until it gets to the top, instead of making them click 100 times). Also, is there an easy way to make the progress bar be verticle instead of horizontal? I've seen a lot of classes on this website that do this and make fancy ones, but I wouldn't mind using the built-in progress bar control to do it if possible. Any help would be appreciated!
DSC
|
|
|
|
|
|
Hello everyone.I am new at c# and a have a project about customer follow-up programme.How can i write the codes.i dont know anything about database.please help me.if u have the codes send me please.i have 2 weeks for my project.thanks for ur helps.
|
|
|
|
|
dude you really shouldnt take on that kind of thing without knowledge. check the articles on this site , that is your best starting point. I doubt you will get anything out of the box.
g00fy
|
|
|
|
|
|
Do you know SQL? If you don't then don't even start.
No one will help you with that kind off questions.
If you'ld like an answer, make sure that you show you've tried several options yourself or at least tried to find it yourself.
Nobody will give you code either, they'll only give links to where the solution could be.
if you want to start on databases (only if you know sql) go to MSDN or here on cp and search on ADO.NET, dataadapter, sqlcommand, connection, oledb, odbc, sql (last three depending on the kind of database), datasets, datatables, ...
That should get you started in a good direction.
good luck, but I doubt you'll make it...
(PS: out of curiosity, you do know SQL right?)
Coulda, woulda, shoulda doesn't matter if you don't.
|
|
|
|
|
I'm sure that more than one CP'ian would be happy to charge you or your company for the above mentioned code
No one is going to do your job for you for free...
-Richard
|
|
|
|
|
Just out of curiosity, why did you get put in charge of making a C#/database app if you have no experience with C# or databases?
Best of luck,
Josh
|
|
|
|
|
I a calling an API method which requires passing the reference to an array as parameter. The problem is with that parameter
The actual function is
BOOL __stdcall G3BlockScan(int hRadio,<big>DWORD *Freqs</big>, int Count,int StopSquelchRaw, DWORD FeedbackTime,HWND WinHandle,DWORD Msg);
Here Freqs is an array whose contents are mofied by the The API function call.
I have wrapped this function in C# as follows..
[DllImport("wrg303api.dll")] <br />
public static extern bool G3BlockScan(int hRadio, <big>uint [] Freqs</big>, int Count,int StopSquelchRaw,uint FeedbackTime,IntPtr WinHandle,uint Msg);
and the function call is like this .....
..... some code.....<br />
uint[] Freqs = new uint[1001];
..... some code....<br />
if (!clsApiWrapper.G3BlockScan(radioHandle, <big>Freqs</big>, 1001, 256, 100000, pointer,Msg))<br />
MessageBox.Show("The block scanning failed to start", "WiNRADiO - Error Message", MessageBoxButtons.OK, MessageBoxIcon.Error); <br />
..... some code ....
But now when I run the app it doesn't change the contents of the array. so I believe I need to pass the reference of the array to the function. And if I change the code like this to pass the reference of the array
[DllImport("wrg303api.dll")] <br />
public static extern bool G3BlockScan(int hRadio, <big>ref uint [] Freqs</big>, int Count,int StopSquelchRaw,uint FeedbackTime,IntPtr WinHandle,uint Msg);<br />
<br />
..... some code.....<br />
uint[] Freqs = new uint[1001];
..... some code....<br />
if (!clsApiWrapper.G3BlockScan(radioHandle,<big>ref Freqs</big>, 1001, 256, 100000, pointer,Msg))<br />
MessageBox.Show("The block scanning failed to start", "WiNRADiO - Error Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
Now when I access the Freqs array after the method call I encounter a strange behaviour.. The size of Freqs array is reduced from 1000 to 1.
I can't figure out what is going wrong.
Can any1 plz suggest what to do.
|
|
|
|
|
hi every one,
i have question about craete a custom web part the i must integreate with shere point server on a virtual machine (in the virtual machine i have windows server 2003 that i download the shere point setup on it)..!!!?
,,so
in the .net 2005 i must create a web part , but .net 2005 that i have did'nt provide web part library , so i need to download this library , but i don't know where can i find it.!!?
so any help will be usefull for me .
My Regards,
abdalla zaid
|
|
|
|
|
I've sent you an email about it.
|
|
|
|
|
but he's a guy! why you did that?
NULL
|
|
|
|
|
Huh?
I sent him an email becase I got a mesage in my Outlook inbox. I hadn't refreshed the web page at the time, so I didn't realise there was another post about it on here as well.
|
|
|
|
|
You only posted it 2hrs ago!!!! and this one is 1hr ago, which means you reposted the same message after just 1 hr
Do not continually repost the same question, it will get you IGNORED!
Current blacklist
svmilky - Extremely rude | FeRtoll - Rude personal emails | ironstrike1 - Rude & Obnoxious behaviour
-- modified at 10:51 Wednesday 26th April, 2006
|
|
|
|
|
Hi
i have created a web services and when i try to run it it gives me this error""http://localhost:6058/WebSite1/Service.asmx"".so i don't know what problem might be cause even if i create a new one without coding still gives me the same error
|
|
|
|
|