Gamestudio Links
Zorro Links
Newest Posts
Z9 getting Error 058
by jcl. 06/16/26 09:51
How to select between IB accounts by script?
by AndrewAMD. 06/13/26 15:44
Zorro tutorial ideas?
by AndrewAMD. 06/13/26 15:01
Zorro 3.01 recoded MMI function issue
by 11honza11. 06/13/26 11:40
Stooq now requires an API key
by AndrewAMD. 06/11/26 17:55
AUM Magazine
Latest Screens
Dorifto samurai
Shadow 2
Rocker`s Revenge
Stug 3 Stormartillery
Who's Online Now
6 registered members (Quad, TipmyPip, Martin_HH, Grant, 2 invisible), 1,261 guests, and 23 spiders.
Key: Admin, Global Mod, Mod
Newest Members
Student_64151, Koti, curry, DeepxKalsi, Samed
19219 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Dll problem #279685
07/18/09 18:24
07/18/09 18:24
Joined: Jun 2004
Posts: 134
127.0.0.1
V
Vampir Offline OP
Member
Vampir  Offline OP
Member
V

Joined: Jun 2004
Posts: 134
127.0.0.1
Hi
Ich hab eine Netzwerk Engine für 3dgs in C# geschrieben.
Doch leider hab ich jetzt gemerkt, dass ich die nicht mit 3dgs benutzen kann, da sie auf .net basiert.

Deshalb möchte ich es so machen:
Da der Server recht gut funktioniert und ich lange daran hatte,
möchte ich jetzt einfach den Client in c++ schreiben.
Der muss ja nur mit Server verbinden, Byte-Arrays senden und empfangen, verschlüsseln, entschlüsseln und bytes in Datentypen konvertieren.

Aber leider liegt mir das dll proggen in c++ gar nicht
und habe probleme damit.

Ich hab mal eine ganz einfache dll geschrieben:
Code:
//DLL.CPP
#include "dll.h"
#include <windows.h>

DLLIMPORT void HelloWorld ()
{
    MessageBox (0, "Hello World from DLL!n", "Hi", MB_ICONINFORMATION);
}

BOOL APIENTRY DllMain (HINSTANCE hInst     /* Library instance handle. */ ,
                       DWORD reason        /* Reason this function is being called. */ ,
                       LPVOID reserved     /* Not used. */ )
{
    switch (reason)
    {
      case DLL_PROCESS_ATTACH:
        break;

      case DLL_PROCESS_DETACH:
        break;

      case DLL_THREAD_ATTACH:
        break;

      case DLL_THREAD_DETACH:
        break;
    }

    /* Returns TRUE on success, FALSE on failure */
    return TRUE;
}



Code:
//DLL.H
#ifndef _DLL_H_
#define _DLL_H_

#if BUILDING_DLL
# define DLLIMPORT __declspec (dllexport)
#else /* Not BUILDING_DLL */
# define DLLIMPORT __declspec (dllimport)
#endif /* Not BUILDING_DLL */

DLLIMPORT void HelloWorld (void);

#endif /* _DLL_H_ */




Und versuche sie in Lite-C zu integrieren:

Code:
#include <acknex.h>
#include <default.c>
#include <litec.h>
#include <com.h>

void MessageBox();

long h = LoadLibrary("test.dll");
MessageBox = GetProcAddress(h,"MessageBox");

void main()
{
	video_mode = 12; // 1920x1200
	wait(1);
	
	while(1)
	{
		if(key_1)
		{
			while(key_1 == 1){wait(1);}
			MessageBox();
		}
		wait(1);
	}
}



Es gibt nie Fehler oder so, es passiert einfach rein gar nichts mit der testvar.

Ist es ok wenn die dll im Projektverzeichnis ist?
Die Netzwerk Engine sollte so schnell wie möglich sein.
Kann sie mit dieser Konfiguration noch schnell sein?
3dgs <-> C++ Dll Client <-> C# Server

Hoffe jemand hilft mir.

mfg
Vampir

Last edited by Vampir; 07/18/09 19:43.

My english is version 0.1 BETA. wow gamecard 4 president
Re: Dll problem [Re: Vampir] #309272
02/08/10 09:56
02/08/10 09:56
Joined: Dec 2009
Posts: 128
China
frankjiang Offline
Member
frankjiang  Offline
Member

Joined: Dec 2009
Posts: 128
China
could tell me why i just call dll by c-script ,but not by lite-c?


development 3d game is interesting!

Moderated by  TWO 

Gamestudio download | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1