Forum Replies Created
-
AuthorPosts
-
alex000Participant
Только что попробовал – если $NODEFINE поставить сразу после объявления LONG_PTR, то все ОК – DelphiXE2 этой ошибки не выдает 🙂
October 21, 2011 at 12:56 pm in reply to: Установка AC v7.54 – Unable to open file 'MATH.OBJ' #47018alex000ParticipantВозможно, в настройках проекта который вы пытаетесь скомпилировать под XE2, прописаны пути к папкам от альфы для XE ?
Это легко проверить – временно переименуйте папку куда установлена альфа для XE, и попробуйте собрать проект в XE2
alex000ParticipantСтранно, в исходниках VCL {$NODEFINE} встречается регулярно.
В крайнем случае, наверно можно обернуть его в {$IFDEF BCB}
alex000ParticipantСудя по
Code:extern PACKAGE System::StaticArray aScrollCodes;у вас старая версия sConst.hpp, тк у меня:
Code:// (DO NOT EDIT: machine generated header) 'sConst.pas' rev: 23.00 (Win32)
extern PACKAGE System::StaticArray aScrollCodes;Old, вам “везет” со старыми версиями 😉
И не надо наезжать на Support`a – нас много, а он один.
alex000Participantacnt_regbuilderxe.zip? Вы уверены?
acnt_regbuilderxe.zip собран для BuilderXE, под XE2 он не соберется.
Support наверно забыл обновить страничку – там нет ссылки на acnt_regbuilderxe2.zip
Но вы можете скачать acnt_regbuilderxe2.zip по ссылке выше.
alex000Participant'Old' wrote:при установке пакета для делфи в делфи с генерацией файлов С++ у меня вообще проблем не было.
а цели вашего монолога я не уловил.
Цель в том что нам надо искать различия в конфигурации:
– Вы ставили последнее обновление для XE2?
– Опишите ваши шаги установки, может быть есть какие-то отличия?
– Может быть где-то осталась старая версия? Или файлы от билда под Delphi?
alex000ParticipantТолько что попробовал установить http://www.alphaskins.com/sfiles/stable/acnt_regbuilderxe2.zip на Embarcadero® C++Builder® XE2 Version 16.0.4256.43595:
1) acntBuilderXE2_R.cbproj – Make:
пишет что не хватает dcu -> скачал http://www.alphaskins.com/sfiles/stable/acnt_regdelphixe2.zip, положил dcu в папку BuilderXE2
Еще раз Make – все ОК.
2) acntBuilderXE2.cbproj – Install – все ОК.
Есть идеи, что я делаю не так?
alex000ParticipantТогда как объяснить, то что у меня, в С++ Builder 2006 все работает?
Все же, единственное разумное объяснение – где-то берется старая версия sSkinManager.hpp.
alex000ParticipantВы можете сделать это уже сейчас, добавив кнопку run-time:
Code:procedure TForm1.FormCreate(Sender: TObject);
var NewButton:TsEditButton;
begin
NewButton := TsEditButton.Create(sComboEdit1);
NewButton.Parent := sComboEdit1;
NewButton.Visible := True;
end;Но на самом деле, было бы неплохо добавить коллекцию кнопок TsComboEdit 🙂
alex000ParticipantВ AC 7.54 все по-прежнему.. :huh:
Возникли какие-то проблемы?
alex000ParticipantНа вашем первом скриншоте, видна половина предыдущей строчки, и кажется там есть путь, который содержит что-то вроде AlphaControlsBuilderXE2v7.53.
Вы уверены что компилятор не подцепил какой-нибудь *.hpp-файл от старой версии?
alex000ParticipantВо первых – у меня под WinXP такого нет.
Во вторых – обратите внимание на заголовок – AC 7.53 – это старая версия ASkinDemo.
Очевидно, Support в спешке не успел обновить демку.
Возможно в AC 7.54 этой ошибки уже нет.
alex000ParticipantQuote:– спасибо вам, Добрый Человек,
#define TBitmap Graphics::TBitmap – это первое, что я сделал:
[BCC32 Error] Buttons.hpp(94): E2316 'Graphics' is not a member of 'Graphics'
Наверно, вы добавили #define перед всеми #includ`ами в начале *.h файла?
Обрамлять в
#define TBitmap Graphics::TBitmap
#undef
нужно только класс формы, и обязательно добавить в конце #undef!
Quote:почему-то этот косяк проявляется именно в АлфаКонтролс, у меня не возникало проблем с Graphics::TBitmap .
И, я так понимаю, если это известная для АлфаКонтролс проблема, то или решите ее, или уберите нафиг этот Glyph .
Повторюсь – это проблема билдера в целом 🙁
Похожие проблемы часто встречаются например в EhLib. Да и не обязательно использовать компоненты:
Code:#include
#include
TBitmap *MyBitmap;– Эти три строчки выдают ту же самую ошибку.
Если вы выбрали С++ Builder – привыкайте, у него еще много таких приколов 🙂
Но я с вами согласен – если это проявляется в AC, значит нужно хотя бы поискать способ это исправить.
alex000ParticipantА разве стандартный TStatusBar ведет себя иначе?
В хелпе TStatusBar->SizeGrip написано:
Quote:A size grip will not be drawn unless the TStatusBar is the child of a TCustomForm with a BorderStyle of bsSizeable or bsSizeToolWin.
Так что ошибкой тут можно считать либо невозможность ресазить форму, либо отрисовку SizeGrip при BorderStyle = bsNone
alex000ParticipantАльфа тут не причем – гугл подсказывает что Ambiguity between 'TBitmap' and 'Windows::TBitmap' – косяк Билдера 🙁
TBitmap объявлен в двух файлах Windows.hpp и Graphics.hpp.
Это никак невозможно исправить.
Единственный известный Workaround для таких ошибок:
В .h
Code:#define TBitmap Graphics::TBitmapclass TForm1 : public TForm
{
…
// объявление события с ошибкой .. Ambiguity between
…
};#undef TBitmap Graphics::TBitmap
В .cpp
Code:…
#define TBitmap Graphics::TBitmap
…
// обработчик события с ошибкой .. Ambiguity between
…
// В .cpp – #undef не обязателенМожно конечно удалить лишнее объявление TBitmap из Windows.hpp, но как бы тогда не перестало работать что-то другое..
alex000ParticipantOld, если не трудно – сделайте маленький проект с демонстрацией ошибки и выложите сюда исходник.
Еще был бы полезен скриншот окна Call Stack.
Support`у так будет проще и быстрее разобраться с проблемой.
alex000Participant'Support' wrote:В следующем релизе попробую сделать, чтобы эта строка удалялась автоматически.
Спасибо, но удаление строки не помогло – дело в том что при установке компилятор создает sConst.hpp заново, из sConst.pas 🙁
В аналогичной теме я предлагал другой способ удаления “ошибок” из .hpp
То есть можно попробовать добавить в sConst.pas
Code:{$NODEFINE LONG_PTR}alex000ParticipantМне кажется, удалось стабильно поймать этот баг в демке: [attachment=5178:TabsOutOf.zip]
alex000ParticipantВидимо дело в ресурсах – XE2 добавляет какой-то странный манифест [attachment=5164:testeh.manifest.zip]
Пока Support разбирается, можно посоветовать поставить DbGridEh->OptionsEh->dghFixed3D = false
alex000ParticipantМногие используют ту версию Delphi/Builder на которую есть лицензия. А так как Update непомерно дорог – еще долго будут использовать.
Только-что попробовал собрать Delphi-версию пакета – действительно 2.40MB 😮
Разница в размере может быть из-за Debug build и возможно секции экспорта – значит на работу программы это не будет влиять, а на размер exe – мне всё равно. Так что не вижу смысла заморачиватся.
Кроме того, использовать Delphi для компиляции могут далеко не все – есть версии BDS без Delphi, в которых есть только С++Builder..
Ругать линкер билдера за лишние функции в секции экспорта тоже не стоит – на экспорт их выставляет компилятор Delphi.
PE Corrector сильно платный, хотя по-моему это единственная утилита которая умеет вырезать секцию экспорта.
Правда, при минимальных знаниях о структуре PE-файлов – не проблема написать такую вещь самому: [attachment=5163:StripRelocMod.zip]
Я немного модифицировал StripReloc, чтобы он вырезал еще и секцию экспорта. В тяжелых случаях оно вырезает под мегабайт мусора из exe.
Но мы немного ушли в оффтопик. Всё-таки этот раздел предназначен для “Решения проблем”. Support будет недоволен :offtopic:
-
AuthorPosts