На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

Проблема с иконкой

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » GIS ToolKit, GIS ToolKit Active
Страницы: 1
RSS
Проблема с иконкой
 
При статической линковке к библиотекам версии 11.6.1 пропадает (или становится прозрачной?) главная иконка приложения. При использовании библиотек 9.15.3 такой проблемы нет.
Использую C++ Builder 2010

Если кто-то сталкивался с этой проблемой, как с ней бороться ?

Спасибо.
Изменено: Юрий - 31.10.2011 17:48:10
 
Проблема остается неразрешенной.
Для повторения ошибки я создал простое приложение, состоящее из одной формы, без каких-либо элементов управления

MainWnd.h
Код
//---------------------------------------------------------------------------

#ifndef MainWndH
#define MainWndH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Fo rms.hpp>

#ifdef TEST_ICON_DISAPPEAR
#include "DLGMINI.hpp"
#include "mapcmp.hpp"
#include "mapscrn.hpp"
#include "mapwina.hpp"
#include "mappoint.hpp"
#include "mapobj.hpp"
#include "mapviewa.hpp"
#endif // TEST_ICON_DISAPPEAR

//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:   // IDE-managed Components
   void __fastcall FormDestroy(TObject *Sender);
private:   // User declarations
#ifdef TEST_ICON_DISAPPEAR
   TMapPoint*   m_MapPoint;
   TMapObj*   m_MapObj;
   TMapScreen* m_MapScreen;
#endif
public:      // User declarations
   __fastcall TForm1(TComponent* Owner);
   void __fastcall MapScreenClear();
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif



MainWnd.cpp
Код
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "MainWnd.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#ifdef TEST_ICON_DISAPPEAR
#pragma link "$(BDS)\\lib\\Mappack.lib"
#pragma link "$(BDS)\\GisTool11\\gisacces.lib"
#pragma link "mapcmp"
#pragma link "mapscrn"
#pragma link "mapviewa"
#pragma link "mapwina"
#pragma link "mapviewa"
#endif // TEST_ICON_DISAPPEAR
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
   : TForm(Owner)
{
#ifdef TEST_ICON_DISAPPEAR
   m_MapScreen = new TMapScreen(this);
   m_MapScreen->Parent = this;
   m_MapObj = new TMapObj(this);
   m_MapPoint = new TMapPoint(this);
#endif
}
//---------------------------------------------------------------------------

void __fastcall TForm1::MapScreenClear(void)
{
#ifdef TEST_ICON_DISAPPEAR
   m_MapScreen->MapFileName = "";
   delete m_MapObj;
   delete m_MapPoint;
   delete m_MapScreen;
#endif
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormDestroy(TObject *Sender)
{
   MapScreenClear();
}
//---------------------------------------------------------------------------


В проекте создана новая конфигурация 'GisLinkedDebug', в которой в опциях Conditional Defines добавлен дефайн TEST_ICON_DISAPPEAR

При сборке в этой конфигурации иконка формы пропадает. При сборке в Debug - присутствует.
Изменено: Юрий - 13.01.2012 18:45:36
 
В комплект с инсталляцией компонент входит набор примеров, в том числе и для С++ Builder. Попробуйте какой-нибудь пример. Будет ли проявляться эффект пропадания иконки?
 
Я выбрал один из проектов, сожержащих компонент TMapScreen - CreateObj
Этот проект был автоматически сконвертирован IDE в CreateObj.cbproj, и для успешной компоновки в CreateObj.cpp добавлена строчка

Код
#pragma link "$(BDS)\\lib\\psdk\\oleacc.lib"

для устранения ошибки
Код
[ILINK32 Error] Error: Unresolved external 'LresultFromObject' referenced from C:\PROGRAM FILES\EMBARCADERO\RAD STUDIO\7.0\LIB\DEBUG\VCLACTNBAND.LIB|ActnMenus


После сборки у файла CreateObj.exe отсутствует иконка.
 
Попробовал пример. Действительно после запуска иконки (штатной для среды разработки IDE С++ Builder - нет). Зашел в опции проекта, вставил нужную иконку из файла. После пересборки в момент выполнения отображается нужная иконка.
 
Тоже наткнулся на проблему с иконкой
Проявляется она и как в CBuilder 6 так и в Rad Studio XE2
Изучение готового EXE-шника программой Resource Tuner показало, что в exe-шник записывается две иконки 1033 и 1049
Вторая прозрачная. При ее удалении данной программой иконка в EXE-шнике появляется
GIS ToolKit + CBuilder 6 + RadStudio Xe2
 
Перешел на версию 11.8.2. Проблема с иконкой осталась. Приложения из примера также компилируются без иконки. :(
GIS ToolKit + CBuilder 6 + RadStudio Xe2
 
Подскажите версию операционной системы. Буквально два дня назад сами игрались с такой же проблемой, но она проявлялась только в Winodws 7.
 
Цитата
Andrey Gheleznyakov пишет:
Подскажите версию операционной системы. Буквально два дня назад сами игрались с такой же проблемой, но она проявлялась только в Winodws 7.

Windows 7 Pro 64 bit
GIS ToolKit + CBuilder 6 + RadStudio Xe2
 
Тогда вам надо в проекте открыть файл ресурсов (res) с помощью ImageEditor. В нем для для MAINICON могут быть несколько иконок для разных размеров иконки (выбирается из списка). Кроме первой иконки остальные удалите.
Страницы: 1
Читают тему (гостей: 1)



© КБ Панорама, 1991-2022

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности