|
Try creating a C#, and a C/C++ class library project under the same solution, and link them.
Personally, I'd be searching for ways to do it all in one language if it were at all possible.
|
|
|
|
|
Meanwhile I have tried to link a C# and a C++ project in the same workspace. I can make the link in c# to the C++ project, but I can not use the functions from C++.
Please, can you give me a description how I have to link tht projects.
|
|
|
|
|
This might help
Otherwise "C# - link to c++ dll" in Google will give you plenty of examples.
Cheers,
|
|
|
|
|
Sorry, but is the only way to use the C++ functions in C# with DLL?
I dont want to generate a DLL, because I have to change the C-files (_dllexport....). And when I have to change the C-files, it´s better to invest the time to writte the Code in C#
I want only to copy the C-Files into the managed/unmanged C++ Project without any changes, and than using the functions in C#.
|
|
|
|
|
Yes - The only way is to use C++ files in C# is using a DLL.
|
|
|
|
|
As far as I know there are two common ways to do this. One is as mentioned (not particularly helpfully) through P/Invoke and use of attributes such as DLLImport . Note, I do not thing you need to recompile it as a DLL to achieve this.
The other (probably preferred method) is to change if possible the C executable into a C++/CLI or managed assembly. This will still allow you to use C for everything but you can then expose managed wrappers around the necessary functions for C# to call easily. In this instance you can simply add a reference to the project in Visual Studio and use it like it were another assembly written in C#.
|
|
|
|
|
I want to the second way.
I have create a C# and an C+/CLI project in the same workspace. I have also added a reference to the C# project, but I can not use any function.
Do you have a code-example?
|
|
|
|
|
Just put together a very simple application, I wasn't able to get it to reference methods in an executable but compiling the C++/CLI project as a library was fine. You can download it from here:
<a href="http://downloads.pooredesign.com/CS-Test.zip" rel="nofollow">http: The project was created using Visual Studio 2008 for your information.
|
|
|
|
|
Thanks a lot for the sample!!!
But I think, that I can not copy some C-files (*.c, *.h) to the project CLib without any changes on the files...
or, do you have any idea?
|
|
|
|
|
strizi wrote: But I think, that I can not copy some C-files (*.c, *.h) to the project CLib without any changes on the files...
Have you tried it? If it does not compile then there's cause for concern. If it does then all well and good.
|
|
|
|
|
Sorry, but on looking through the code I havened seen (unerstand) the NativeMethods.cpp
Now I understand the Porgram, and this is exact the program, what I am looking for.
MANY THANKS
|
|
|
|
|
Hello All,
I have an unmanaged dll (xxx.dll). I want to use the methods of this dll in a c# windows application. But I'm getting the following error while executing the code:
Unable to load DLL '...'. The specified module could not be found. [Exception from HRESULT: 0x8007007E]
I have also placed the dll in System32 folder.
Any ideas to solve this issue?
Thanks in advance
Shahtech
|
|
|
|
|
Hi,
I found the solution. Earlier I have not added the supporting dlls to C:\WInNT\System32 folder and Bin folder of application.
This solved my problem.
Thanks,
shahtech
|
|
|
|
|
Many times i c people use Type.missing and sometimes null . are they same or have any difference.
|
|
|
|
|
Hi Mogaambo,
Type.Missing indicates that you want to use the default value for the specified parameter.
Null basically means empty.
Cheers,
|
|
|
|
|
How to Chenge MESSEGE BOX font.
|
|
|
|
|
You can't change most aspects of the standard messagebox directly. You could always create a custom form class that mimics the messagebox in order to do this. There is a really good custom messagebox class in the form of an article. I suggest you search for it.
"The clue train passed his station without stopping." - John Simmons / outlaw programmer
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
|
|
|
|
|
i m using SQL server 2005.in this i have a field "Place". i have made a form in which i have used drop down list in which these Place field is shown.in C# i want a code so that if user select the particular place from that drop down list, that should be entered in the database of SQL server 2005.i have made a add button on the form for the user to add the selected place in the database.the required coding i have to write in this add button.Please reply me urgently........
|
|
|
|
|
What have you tried doing so far? Show what code you have tried.
Preeti1979 wrote: reply me urgently........
That is considered rude. Please refrain from that
"The clue train passed his station without stopping." - John Simmons / outlaw programmer
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
|
|
|
|
|
Seeking help with the last blocks of codes numbered 1 and 2 on the forme1.cs and queue.cs shown below.? It all working well. Stack on the last blocks.
FORM 1.CS
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace Queuebuilder
{
public partial class Form1 : Form
{
public Form1()
{
myQueue = new queue();
myQueue.queue_init();
InitializeComponent();
}
queue myQueue;
// making a queue empty
private void initbutton_Click(object sender, EventArgs e)
{
myQueue.queue_init();
displayQueue();
}
// enqueueing an item
private void enqueuebutton_Click(object sender, EventArgs e)
{
int val;
try
{
val = Convert.ToInt32(inputBox.Text);
inputBox.Clear();
}
catch
{
MessageBox.Show("Please enter an integer.");
inputBox.Focus();
return;
}
myQueue.enqueue(val);
displayQueue();
inputBox.Focus();
}
//
private void dequeuebutton_Click(object sender, EventArgs e)
{
myQueue.dequeue();
displayQueue();
//displayBox.Focus();
}
// displaying queue contents
private void displayQueue()
{
string displayString;
displayString = myQueue.printQueue();
displayBox.Clear();
displayBox.AppendText(displayString);
displayBox.AppendText("\n");
}
1. // Trying to remove every second item
private void evenitemsbutton_Click(object sender, EventArgs e)
{
myQueue.dequeue();
displayQueue();
}
2. // Trying to reverse the queue
private void reversebutton_Click(object sender, EventArgs e)
{
}
}
}
------------------------------------------------------------
QUEUE.CS
using System;
using System.Collections.Generic;
using System.Text;
namespace Queuebuilder
{
class queuenode
{
public int nodedata;
public queuenode next;
}
class queue
{
queuenode front; // referencing to front of queue
queuenode rear; // referencing to rear of queue
// initialising a queue
public void queue_init()
{
front = null;
rear = null;
}
// testing for an empty queue
public Boolean empty()
{
return(front == null);
}
// adding a value to the rear of a queue
public void enqueue(int val)
{
queuenode temp;
temp = new queuenode();
temp.nodedata = val;
temp.next = null;
if (empty())
front = temp;
else rear.next = temp;
rear = temp;
}
// building a string that represents queue contents
public string printQueue()
{
string nextItem;
string queueContents;
queuenode queueRef;
queueContents = " ";
queueRef = front;
while (queueRef != null)
{
nextItem = queueRef.nodedata.ToString();
queueContents = queueContents + nextItem + " ";
queueRef = queueRef.next;
}
return queueContents;
}
// adding a code to dequeue an item from the front of a queue
public void dequeue()
{
//front = front.next;
if (empty())
front = null;
else
front = front.next;
}
1. // Trying to add code to remove every second item from a queue
public void even_items()
{
delete(front);
front = front.next;
}
}
2. // Trying to add code to reverse a queue
public void reverseQueue()
{
}
}
}
modified on Wednesday, August 6, 2008 5:20 AM
|
|
|
|
|
Why cant you go for a Queue<t>[^] class?
For reversing you may have to make use of Array.Reverse method.
*jaans
|
|
|
|
|
How do I do that?
|
|
|
|
|
1. You can use the ToArray method of Query class to get the array of items.
2. Use Array.Reverse method for reversing it.
3. Create a new queue instance with the reversed array.
Note: I won't be giving the code as it seems to be a home work
*jaans
|
|
|
|
|
It is actually not a homework. It is a code question from past exam papers. I would appreciate so much if you could show the code structures just for the last blocks only as is seen.
modified on Thursday, August 7, 2008 3:20 AM
|
|
|
|
|
Hi,
I need to change some settings / values of the resource file (ini / XML) that I have added at runtime to my project.
How can I achieve this???
Thanks in advance,
Vaibhav
|
|
|
|