.[ ČeskéHry.cz ].
Pluginy
Jdi na stránku Předchozí  1, 2
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> C / C++
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Marek



Založen: 28. 07. 2007
Příspěvky: 1782
Bydliště: Velká Morava

PříspěvekZaslal: 15. září 2009, 14:38:11    Předmět: Odpovědět s citátem

Please, [eozí].

Právě proto bys neměl měnit ty virtuální metody, jakmile projekt uvolníš, to myslím tou kompatibilitou. Interfacy by měly nějakou dobu vydržet (vem si třeba Mirandu, kde i dost starý pluginy stále fungují v nejnovějších verzích)

Vytváření objektů můžeš zabalit do nějaké factory nebo objekty vytvářet pomocí funkcí (new Object nebo NewObject není zas takovej rozdíl).
_________________
AMD Open Source Graphics Driver Developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Icek



Založen: 29. 07. 2007
Příspěvky: 45
Bydliště: Banov 375

PříspěvekZaslal: 15. září 2009, 20:55:51    Předmět: Odpovědět s citátem

No prave o factory se snazim, plugin by mel dodat implementaci jedne moji tridy do faktory. A prave kdyz teda tu funkci exportovanou z pluginu upravim nejak takhle:
kód:

extern "C" void * Create()
{
   return new Project();
}


Trida project je definovana v materske aplikaci takhle
kód:

namespace ProjectDefinition
{
   class Project
   {
      public:
         virtual ~Project();

         virtual const Common::List<Item*> & GetItems();
         virtual void SetName(const Common::String & name);
         virtual Common::String GetName();
         virtual Common::String GetType();

      private:
         Common::List<Item *> _items;
         Common::String _name;
         Common::String _projectType;
   };

}


tak dostavam error

kód:

plugin.so: undefined symbol: _ZTVN17ProjectDefinition7ProjectE


cili asi nemuze najit constructor, jenze ja ho ani nedefinuju...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Yossarian



Založen: 28. 07. 2007
Příspěvky: 274
Bydliště: Šalingrad

PříspěvekZaslal: 16. září 2009, 09:45:32    Předmět: Odpovědět s citátem

Uf.
Interface musi byt 'zname' vsem.
Trida s virtual funkcema POUZE te knihovne, ktera ji vytvari, tzn. ke zkonstruovani tridy (new cosi) musis znat jeji plnou implementaci.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 16. září 2009, 09:47:40    Předmět: Odpovědět s citátem

Icek napsal:
cili asi nemuze najit constructor, jenze ja ho ani nedefinuju...


vytvari se implicitni automaticky ze...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Icek



Založen: 29. 07. 2007
Příspěvky: 45
Bydliště: Banov 375

PříspěvekZaslal: 17. září 2009, 21:11:51    Předmět: Odpovědět s citátem

Diky vsem za odpovedi, uz sem se v tom aspon trochu zorientoval...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> C / C++ Časy uváděny v GMT + 1 hodina
Jdi na stránku Předchozí  1, 2
Strana 2 z 2

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna