Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Dark GDK / dgdk.net's supported languages?

Author
Message
eagle scout 316
17
Years of Service
User Offline
Joined: 26th Feb 2007
Location: Northeast Ohio
Posted: 26th Feb 2007 20:28
I brought up the documentation and looked through it, and it always talks about C# and Visual Basic.NET, but there are two other languages in Visual Studio.NET 2005. Visual C++.NET and J# are also present, can these languages be used as well?

I wouldn't want to use J#, but C++ is something i might want to be able to use.
APEXnow
Retired Moderator
21
Years of Service
User Offline
Joined: 15th Apr 2003
Location: On a park bench
Posted: 26th Feb 2007 20:57 Edited at: 26th Feb 2007 20:58
DGDK.NET is a wrapper that is really designed to be used only with VB and C#. If you want to use C++, you will benefit better performance from the DarkGDK (C++) version since these are libraries that get linked directly into your programs. I'm sure that DGDK.NET can be used with C++ but you would be going through an unnecessary interop layer that is primarily used for the .NET framework.

As for J#, I've not even looked into this to see if DGDK.NET would work with it.

Paul.

eagle scout 316
17
Years of Service
User Offline
Joined: 26th Feb 2007
Location: Northeast Ohio
Posted: 26th Feb 2007 23:01
I have to say it's very helpful having the actual developer on the forums, thanks
kBessa
18
Years of Service
User Offline
Joined: 8th Nov 2006
Location: Manaus, Amazonas, Brazil
Posted: 27th Feb 2007 05:48
As far as I know, DGDK.NET should be available to any .NET compliant language, Managed C++ included. So I've made some tests.

J#: I thought this was really like C#, but there are differences. I've made a small DLL with dgdkGlobals.cs, so I wouldn't have to translate it to every single language (Paul, just an opinion: couldn't dgdkGlobas be included in the Interop DLL?). Everything set up (Authenticated, wrote the spinning cube code,hit F5). Running Perfectly!

C++.NET: This one is a little bit tough. I really dont know how to make it write, never really got into C++ (always thought "I should be really away from it"). Anyways, I don't know if I did it right, but it compiled ok. But Authenticator just gives an error: Line 224 of Veriinfo.cpp, that's what it says.

I've then analized the compiled assemblies with .NET Reflector: VB.NET, C# and J# are nearly identical (J# has something more in the code, but still identical). The C++ one looks completely different, as if it was a bunch of crap.

Delphi.NET: I'm downloading the Turbo Delphi for .NET (Explorer Edition) to test it also. I'll post the result when done, but I'm almost sure it will do just fine.

Maybe I coded the wrong way, but my tests with C++ stops here! I'm sorry. But as Paul said, if you're to code in C++, use C++ DGDK, it will be faster, and to say you want to use .NET functionalities, AFAIK, C++ allows mixed Native/Managed code, then this wouldn't be a problem. You should go for the DGDK.NET only if you're really into .NET, but use it with C#, VB.NET or other languages. Maybe somebody else (who really knows about Managed C++) can also do this test.

PS: Paul, I have something to ask you, it's about including dgdkGlobals on DarkEngine, but I think I'll PM you about it.

-Thiago
APEXnow
Retired Moderator
21
Years of Service
User Offline
Joined: 15th Apr 2003
Location: On a park bench
Posted: 27th Feb 2007 09:13 Edited at: 27th Feb 2007 09:33
kBessa, Some really interesting points you made there. As you've pointed out though, C++ will definately benefit from using the DarkGDK libraries instead. Early in DGDK.NET's development, I did experiment with the premise of having dgdkGlobals as part of the DLL, but this caused several problems during the build and I never resolved them. Also, there is the matter of security as well. .NET applications imo are not secure unless they have been properly obfuscated, say with Dotfuscator or a commercial product. I didn't want to risk having the internals of DGDK.NET exposed via decompiled MSIL code leading to... well.. we all know what this leads to.

[EDIT] kBessa, I received your email, and you've actually made some good suggestions in there. I'll investigate this further because it may actually simplify the tutorials as well. Leave it with me and I'll see what the deal is. And thanks

If you need to chat, I seriously recommend obtaining an IRC client and join #dgdk.net. More details are available in the tools and links sticky thread.

Paul.

kBessa
18
Years of Service
User Offline
Joined: 8th Nov 2006
Location: Manaus, Amazonas, Brazil
Posted: 27th Feb 2007 20:25
Ok, I was to try with Delphi.NET, but I can't handle it. It is just like C++, there is no main class, or at least it does not create one like C#, J# and VB.NET. In Delphi.NET and C++.NET I don't know how do inherit the main Class from CDGDK. Sorry, but I think I won't be able to help anyone on these, because if I'm to struggle for 10 hours with this, I prefer to use my time to work on DarkEngine.

But I think it's possible to use DGDK.NET on any .NET language, you really just need to know what you're doing. I'm a C# guy, that's why I should not be able to do it on C++ or Delphi.NET, but I'll let the gurus on these languages to try it.

Paul, thanks for the info. Integrating Globas and Plugins would make everyone's life easier. Maybe there could also be a way to get the error messages from an external string (Localization is great), but it still is possible to integrate them. Things would be easier for you and us!

I got into the chat room sometimes, but no one was there. It's just that the time in my country and yours are different, maybe everybody was already sleeping when I got there. LOL

-Thiago

Login to post a reply

Server time is: 2024-11-19 11:30:36
Your offset time is: 2024-11-19 11:30:36