Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

rewb0rn

Supermoderator

  • »rewb0rn« ist der Autor dieses Themas

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

11

16.02.2006, 23:54

hm wenn ich das richtig verstehe wird doch jetzt nur die Klasse Core exportiert. Auch wenn ich nicht genau nachvollziehen kann, was export bedeutet, müsste es in meinem Fall doch so aussehen oder?

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
//In der dll


class IModelInformation
{
public:
    //rein virtuelle Methoden

}

class __declspec(dllimport) AnimatedModel
{
private: 
    IModelInformation* Foo; //zum Speichern des Models und der Animationen usw

public:
    AnimatedModel(void);
    ~AnimatedModel(void);
 
    Render(float SecsPassed);
    //usw

}

//und dann im Projekt


//in einer .h

class ModelInfo : public IModelInfo
{
//hier alles was man nun konkret braucht

}

//in einer .cpp

AnimatedModel::AnimatedModel(void)
{
    Foo = new ModelInfo();
}
//usw


Das müsste doch gehen und dann kann ich die Klasse trotzdem erstmal in meiner dll benutzen, richtig?

Phil_GDM

Alter Hase

Beiträge: 443

Wohnort: Graz

Beruf: Student-Softwareentwicklung u. Wissensmanagement

  • Private Nachricht senden

12

17.02.2006, 00:02

Zitat von »"Spik)evil("«


Das müsste doch gehen und dann kann ich die Klasse trotzdem erstmal in meiner dll benutzen, richtig?


Ja.

Genau dass ist der Sinn von Interfaces. Man kann mit ihnen deklarieren, wie ein Objekt aufgebaut sein muss. Daher kann man die Klasse auch "verwenden", denn das "verwenden" einer Klasse bedeutet ja nichts anderes, als ihre Methoden aufzurufen, und diese sind durch die Interface-Deklaration ja bereits bekannt, obwohl es noch keine lauffähige Implementierung gibt.

mfg Philipp

rewb0rn

Supermoderator

  • »rewb0rn« ist der Autor dieses Themas

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

13

17.02.2006, 00:13

Super, da haste mir auf jeden Fall sehr geholfen! Vielen Dank

Letzte Frage: Gibts für __declspec(dllimport) ein plattformunabhängiges Äquivalent?

Phil_GDM

Alter Hase

Beiträge: 443

Wohnort: Graz

Beruf: Student-Softwareentwicklung u. Wissensmanagement

  • Private Nachricht senden

14

17.02.2006, 00:21

Auf die Schnelle fallen mir Module Definition (*.DEF) Dateien ein.
Ich bin mir aber nicht sicher, ob die platformunabhängiger sind, mir ist platformunabhägigkeit meistens ziemlich egal :angel:

mfg Philipp

rewb0rn

Supermoderator

  • »rewb0rn« ist der Autor dieses Themas

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

15

17.02.2006, 00:28

hehe
ich werds mir mal anschauen.
Hab ne Idee für ne plattformunabhängige recht mächtige und dynamische Retro-Engine die aber relativ einfach bleibt. Weiß noch nich ob ich da die Zeit zu finde und will jetzt noch nich zu viel verraten ;)

bassdscho

Alter Hase

Beiträge: 1 056

Wohnort: Heuchlingen

Beruf: Student - Technische Informatik

  • Private Nachricht senden

16

17.02.2006, 01:25

die irrlicht engine macht das auch mit interfaces. ich hab nicht mehr gewusst wie die rein virtuellen klassen heißen.
Verlierer jammern immer von wegen ihr bestes!
Sieger gehen nach Hause und vögeln die Ballkönigin!

Werbeanzeige