Is it possible to call C# dll methods in my Qt C++ project
-
wrote on 6 Jan 2021, 07:52 last edited by
Hello everyone, Coming from .NET environment [VB & C#] with a beginner level in C++ and Qt and i was wondering is it possible to call methods from C# dll files in my Qt project.
dll example:namespace Calc; public class Program{ public int sum(int x,int y){ return x+y; } }
And i want to use the sum sum method in my Qt C++ project.
-
wrote on 6 Jan 2021, 07:56 last edited by
Yes you can. The approach is to use the Qt side functions as a dll from c#.
-
wrote on 6 Jan 2021, 08:03 last edited by
@mrdebug Thank you for your answer, I was looking for topics on it and i found this one, is this the right approach ?
https://programmersought.com/article/69592296458/ -
wrote on 6 Jan 2021, 08:19 last edited by
As first step I suggest you to create a dll using QtCreator with the
int sum(int a, int b)
function.
As second step, still with QtCreator I suggest you to create an application that uses the dll function above.
As third step i suggest you to create a c# application that uses a standard dll. At this point you will already have right in mind how to use a dll so in c# you will find immediately the righth way.
In the past i did it. Please have a look at these pieces of code:[DllImport(@"Test01Wrapper.dll", CallingConvention = CallingConvention.Cdecl)] private static extern void ProcessCommand(int Command, int Int0, int Int1); private void BRelay_Click(object sender, EventArgs e) { try { ProcessCommand(0, 1, 2); } catch (DllNotFoundException error) { OnLog(error.ToString()); } }
-
wrote on 6 Jan 2021, 12:29 last edited by
@mrdebug said in Is it possible to call C# dll methods in my Qt C++ project:
The approach is to use the Qt side functions as a dll from c#.
It looks like the OP is wanting quite the opposite... @JohnTheNoob said:
call methods from C# dll files in my Qt project.
-
wrote on 9 Jan 2021, 07:42 last edited by
@mrdebug hi I'm really sorry for my late replay, sorry but I don't think i understand your answer right do you suggest me to create a C++ dll in Qt and use it in my project.
What @Pablo-J-Rogina mention was right what i want to do is after i create my C# dll i want to use the methods in my C# dll inside my Qt project, (Use the methods in my C# dll inside my Qt C++ project) something like that.C# dll
namespace Calc; public class Program{ public int sum(int x,int y){ return x+y; } }
and in my Qt project would be like this
Program c; c.sum(2+3);
-
@mrdebug hi I'm really sorry for my late replay, sorry but I don't think i understand your answer right do you suggest me to create a C++ dll in Qt and use it in my project.
What @Pablo-J-Rogina mention was right what i want to do is after i create my C# dll i want to use the methods in my C# dll inside my Qt project, (Use the methods in my C# dll inside my Qt C++ project) something like that.C# dll
namespace Calc; public class Program{ public int sum(int x,int y){ return x+y; } }
and in my Qt project would be like this
Program c; c.sum(2+3);
wrote on 9 Jan 2021, 08:05 last edited by@JohnTheNoob
Since you're not getting an answer here, and since this question is not to do with Qt per se but rather just with running C# from C++, do a Google search for that --- there will be plenty of hits. -
wrote on 9 Jan 2021, 08:43 last edited by
@JonB
"Since you're not getting an answer here" well i hope it will change and i will get an answer."and since this question is not to do with Qt per se but rather just with running C# from C++" I'm really sorry if this is the wrong place to ask such a question like this, i just thought that there will be a solution here.
"do a Google search for that --- there will be plenty of hits." yes I'm currently searching about it, but it's still good to ask on other places,increasing my chance of getting the answer I'm seeking
-
@JonB
"Since you're not getting an answer here" well i hope it will change and i will get an answer."and since this question is not to do with Qt per se but rather just with running C# from C++" I'm really sorry if this is the wrong place to ask such a question like this, i just thought that there will be a solution here.
"do a Google search for that --- there will be plenty of hits." yes I'm currently searching about it, but it's still good to ask on other places,increasing my chance of getting the answer I'm seeking
wrote on 9 Jan 2021, 09:30 last edited by JonB 1 Sept 2021, 09:31@JohnTheNoob
It's no problem to ask this here. However, there will be very few people who will be wanting to use C# in this forum, hence my suggestion for you may get a better answer elsewhere. I am/was a C# developer, but never had to call C# from C++, though I know it can be done. -
@JohnTheNoob
It's no problem to ask this here. However, there will be very few people who will be wanting to use C# in this forum, hence my suggestion for you may get a better answer elsewhere. I am/was a C# developer, but never had to call C# from C++, though I know it can be done.wrote on 11 Jan 2021, 12:46 last edited byrunning C# from C++
A @JonB mentioned, your goal isn't related to Qt specifically, but rather it'd be a more C++ generic question.
I bet you'll find several examples on Internet about calling C# code from C++.
I'd suggest that you got some examples running without any Qt feature involved (i.e. plain C++ calling C# code) and once you're comfortable then move into using Qt widgets
1/10