Bonjour 4ian,
Mon extension ne démarre plus : GD affiche le message “Impossible de démarrer l’extension”.
Le compilateur ne me précise aucune erreur, si ce n’est quelques WARNINGS.
J’ai essayer d’isoler le problème : il vient de la fonction ArrayShowerObject::Draw() où j’appelle une fonction qui me calcule la taille des colonnes de mon objet “Afficheur de tableaux”.
Le pire, c’est que cette fonction n’est pas appelée dans Draw(), car je l’ai mise en commentaire).
J’ai isolé précisément le morceau où ça bug :
sf::Text text;
C’est une simple déclaration d’un sf::Text.
La fonction complète est :
[code]
//Les includes du fichier
#include “ArrayShowerObject.h”
#include <SFML/Graphics.hpp>
#include <SFML/OpenGL.hpp>
#include “GDL/Object.h”
#include “GDL/ImageManager.h”
#include “GDL/FontManager.h”
#include “GDL/Position.h”
#include “GDL/tinyxml.h”
#include “ArrayConverter.h” // Fonctions statiques pour convertir des string en double et inversement
#include “ArrayContent.h” // Singleton qui gère les tableaux
#if defined(GD_IDE_ONLY)
#include <wx/wx.h>
#include “GDL/CommonTools.h”
#include “GDL/MainEditorCommand.h”
#include “ArrayShowerObjectEditor.h”
#include “ArrayShowerInitialPositionPanel.h”
#endif
//Un typedef
typedef std::vectorstd::string stringVector;
void ArrayShowerObject::GenerateColumnsSize(sf::RenderWindow& main_window)
{
columnsSize.clear();
if(GetArrayToShowType() == Array2DText)
{
//actualScene est un pointeur vers la scene actuelle que je met depuis LoadRessources.
std::vector<stringVector> *arrayPtr = &(ArrayManager::getInstance()->d2ArraysStrings[actualScene->game][arrayToShowName]);
int a;
for(a = 0; a < GetColumns(); a++)
{
if(arrayPtr->size() > a + 1)
break;
int columnMaxSize = 0;
int b;
for(b = 0; b < GetRows(); b++)
{
if(arrayPtr->at(a).size() > b + 1)
break;
sf::Text text;
text.SetString(arrayPtr->at(a).at(b));
if(text.GetRect().Width > columnMaxSize)
columnMaxSize = text.GetRect().Width;
}
columnsSize.push_back(columnMaxSize);
}
}
}[/code]
EDIT : Ca bug dès que j’appelle qqch qui est dans la SFML.
Si je tente de créer un sf::Shape, ça bug aussi par exemple…
C’est un problème de linkage ?