Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Embarcadero RAD Studio XE2 (Pulsar)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57

Открыть новую тему     Написать ответ в эту тему

data man



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Обсуждаем новые возможности и баги
Просьба писать только про Embarcadero RAD Studio XE2 (Pulsar) - по остальным версиям есть соответствующие темы.

Вопросы вареза здесь не обсуждаются !!!
См. также:


Из слишком часто повторяемых вопросов:
  1. Почему EXE такие большие - перевод статьи от Andy тут, оригинал на страницу назад.
  2. Что случилось c авто-увеличением Build Number - Объяснение на англ.. Можно отключить встроенную функцию и добавить плагин, в котором есть "старый" авто-инкремент. Например DDevExtensions от Andy. У него так же есть хороший плагин IDE FixPack

Всего записей: 1696 | Зарегистр. 13-10-2005 | Отправлено: 23:54 27-07-2011 | Исправлено: Arioch1, 16:08 25-04-2013
zedxxx

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
попробую вместо TStringList возвращать pointer

Сути не меняет.

Всего записей: 1535 | Зарегистр. 14-07-2008 | Отправлено: 19:08 14-12-2011
mdid

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
еще одно "чудесо"..эксепшн появляется только если запускать прогу со среды разработки...если запустить готовый экзешник то все норм...черт я прям даже не знаю как реагировать на хе2

Всего записей: 1298 | Зарегистр. 13-02-2006 | Отправлено: 20:45 14-12-2011
Varenik



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
mdid
Я чёт не пойму -а кто вам мешает в Tag хранить указатель на array of Variant?

----------
Если нравится, считайте, что получилось…

Всего записей: 1767 | Зарегистр. 21-07-2001 | Отправлено: 21:04 14-12-2011
mdid

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Varenik
да это все удобство...хотелось бы еще в дизайн тайие редактировать массив array of Variant и тд...мне то ничего не мешает..на данный момент я просто определяю нужные переменные в разделе publuc и все...черт я то думал не только у меня горе с тегом...а оказывается видимо только у меня))

Всего записей: 1298 | Зарегистр. 13-02-2006 | Отправлено: 21:14 14-12-2011
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mdid
Еще раз, обьектами между длл и экзешником обмениваться нельзя. Только интерфейсами. Ну или включать и там и там рантайм пакеты. А что касается D2010 то там это работало по чистой случайности.

Всего записей: 2319 | Зарегистр. 24-05-2007 | Отправлено: 21:29 14-12-2011
ppkp

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mdid

Цитата:
эксепшн появляется только если запускать прогу со среды разработки...если запустить готовый экзешник то все норм...

Tools->Options->Debugger Options->Language Exceptions->Кнопка Add->Вписываем к примеру EConvertError или что нужно
 
А при выполнении в IDE при появлении exception пометить checkbox "Ignoge this exception type" (точно не помню название)

Всего записей: 480 | Зарегистр. 13-04-2006 | Отправлено: 21:36 14-12-2011 | Исправлено: ppkp, 21:45 14-12-2011
AnViSe



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну я бы так явно не отключал бы отображение ошибок. Мало ли в будущем может вылезти грабель где нибудь.

Всего записей: 123 | Зарегистр. 10-11-2008 | Отправлено: 10:21 15-12-2011
ppkp

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AnViSe
Ну так можно удалить  данный exception через те же Tools->...

Всего записей: 480 | Зарегистр. 13-04-2006 | Отправлено: 14:48 15-12-2011
Arioch1



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Frodo - ну вообще если пропатчить VMT то можно... не так чтобы вообще нельзя.
 
Но тогда руками надо столько всего контролировать, что компилятор сам в BPL делает, что лучше не надо
 
mdid - а потом тебе понадобится поменять дизайн окна, не трогая логики, и будет... весело.
Да и названия процедур бессмысленные получаются.
 
Если хочется данные в рантайме редактировать - то м.б. какой-нибудь in-memory table подойдёт ? Может быть NExusDB, когда они бесплатный Embedded наконец выпустят для XE2
 
Добавлено:

Цитата:
непонятно с тем почему все работает если дебагидить из под dll

 
а по-моему понятно. Отладчик пытается эту переменную распознать, данные на экран вывести или ещё что. А тут оказывается у тебя два разных типа TStringList, два разных типа TObject, два разных юнита Vcl.Forms и т.д. Крыша и едет...
Попробуй  "если дебагидить из под dll." создать и и просмотреть stringlist созданный в основном приложении и например переданный в DLL. По идее симптомы должны быть похожие.

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 01:18 16-12-2011
Ludens

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Существует ли в XE2 возможность отменить принудительное использование в новых проектах двойных имен для системных библиотек (Winapi.Windows,  System.Classes и т. д.)?  
Неужели нельзя сделать, чтоб было как раньше — Windows,  Classes и т. д.?

Всего записей: 1528 | Зарегистр. 16-01-2006 | Отправлено: 23:57 17-12-2011
Arioch1



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
так ты их можешь не писать, компилятор будет сам угадывать первую часть имени. По крайней мере если последняя часть имени уникальная.
 
http://docwiki.embarcadero.com/RADStudio/en/Delphi_Compiler - параметр Unit scope names
http://docwiki.embarcadero.com/RADStudio/en/Unit_Scope_Names
http://wiert.wordpress.com/2011/11/17/delphi-xe2-unit-scope-tables/
 

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 01:19 18-12-2011
Ludens

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Arioch1

Цитата:
так ты их можешь не писать

Я-то могу. А вот RAD... Может ли RAD не вставлять первую часть имени модуля, когда автоматически добавляет его в раздел uses?
Большой беды, конечно, в этом нет: в конце концов, можно эти первые части имен удалять просто руками. Студия на это не ругается и насильно их потом не восстанавливает.
Но хотелось бы все же, чтоб она их с самого начала не вставляла — например, при создании нового проекта. Ведь есть же где-то в недрах служебых файлов что-то вроде шаблона кода для нового проекта? Может быть, там можно подправить?

Всего записей: 1528 | Зарегистр. 16-01-2006 | Отправлено: 01:35 18-12-2011
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ludens
В старых версиях оно было в ресурсах, и я вроде даже правил. Но это только те модули, которые есть в юзес изначально. Те, которые добавляются при добавлении контролов, все равно придется править.

Всего записей: 2319 | Зарегистр. 24-05-2007 | Отправлено: 01:50 18-12-2011
Arioch1



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вряд ли.  
это ж не шаблон, это ж подпрограмма, найти компонент, определить его полное имя, выделить в ней имя модуля и вставить, если его ещё не было.
 
допустим ты заставишь отбрасывать всё до последней точки... а ведь бывают имена не из двух, а из трёх-четырёх частей.
а последняя часть имени может и совпадать.
 
Просто в Delphi как файлы в DOSe учились называть модули так, чтобы не было пересечений.
А теперь все идет всторону Явы и .Net'a (который лично мне в целом нравится).
 
Вместо JediVCL.ComCtrls делали имена типа JvComCtrls и так далее - а ведь само по себе так "склеивать" уродливо
 
И есть у тебя например TButton в Vcl.ComCtrls и в JVCL.ComCtrls и в каком-нибудь LMDTools.ComCtrls и в TMS.ComCtrls - и бросаешь ты эти кнопки на форму и добавляется тебе в uses один единственный ComCtrls... - какой из 4-х ??? Если программа умеет только вставлять по одному разу каждое уникальное имя юнита  - то на неуникальных она просто тупо сломается, даже если ты надёшь этакий шаблон и его поправишь.
 
Ведь теперь, когда имена стали разделяться на части, самый смысл давать последние имена одинаковые, осмысленные.
Как в той же Яве обычно есть bla-bla-bla.Interface и bla-bla-bla.Impl(ementation) - и это традиция и часто испольузется. И в Delphi будет так же с временем. И неполные имена будут из небольшого типичного набора.
 
Другой вопрос, что могли б вложенными сделать. Типа как with (а по большому счёты чем отличаются uses и with?)
На манер variant records - Uses VCL (uses Forms, Graphics, ComCtrls), System (Classes, SysUtils, Strings), ...
Или на манер with - Uses VCL, Forms, Graphics, ComCtrls, ...

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 02:11 18-12-2011 | Исправлено: Arioch1, 02:20 18-12-2011
Ludens

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Frodo_Torbins
ну хоть те, которые возникают в uses совершенно нового дефолтного проекта. Каким образом можно хотя бы их зачистить от scope names?

Всего записей: 1528 | Зарегистр. 16-01-2006 | Отправлено: 02:13 18-12-2011
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ludens
Открываем редактором ресурсов delphivclide160.bpl, находим там "RC Data\VCLIDECMD" и правим. В разных bpl-ках можно найти заготовки разных модулей, но расширенные имена юнитов я заметил только в этой.

Всего записей: 2319 | Зарегистр. 24-05-2007 | Отправлено: 13:05 18-12-2011 | Исправлено: Frodo_Torbins, 13:09 18-12-2011
Ludens

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Arioch1

Цитата:
могли б вложенными сделать. Типа как with

Да, я тоже часто об этом думаю...
Вообще, ты грамотно все описал. С именованием библиотек сейчас происходит что-то вроде того, что было с именами файлов в позднем DOS: старая система нейминга уже не справляется с возросшими объемами и разнообразием, а новая вынуждена быть совместимой, что накладывает...
Что-то вроде with сделают обязательно: ну, просто никак невозможно этого не придумать. Но пока, к сожалению, новые разделы uses в XE2 выглядят крайне уродливо, и с этим надо что-то делать уже сейчас.
 
Добавлено:
Frodo_Torbins

Цитата:
Открываем редактором ресурсов delphivclide160.bpl, находим там "RC Data\VCLIDECMD" и правим.

Точно! Есть! Попробую еще заменить этот ресурс одноименным из delphivclide150.bpl...

Всего записей: 1528 | Зарегистр. 16-01-2006 | Отправлено: 14:01 18-12-2011
Arioch1



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
толькo не забудь оригинальный файл сохранить,  чтобы вернуть перед следующим апдейтом
 
Добавлено:
про uses я в общем ничего своего и не выдумывал.
 
То что надо по возможности yнифицировать объекты и модули поняли ещё в Java и в C++ когда добавляли namespace's.
 
Вложенные uses'ы, (кажется дополнительно ещё и работающие как with) есть в той же Скале.
http://jcranky.com/2009/08/18/import-statements-in-scala/
http://www.ibm.com/developerworks/ru/library/j-scala07298/

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 22:38 18-12-2011 | Исправлено: Arioch1, 22:43 18-12-2011
BofA



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
После установки Update 3 появилась странная проблема: периодически перестают работать сочетания Ctrl+Shift+Up/Down. Перезагрузка обычно спасает на какое-то время. Никто не сталкивался с подобным?

Всего записей: 119 | Зарегистр. 31-07-2006 | Отправлено: 17:36 19-12-2011
0D0A

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BofA
По моему опыту, они никогда нормально не работали с момента появления фичи (вроде в Д6).

Всего записей: 158 | Зарегистр. 21-09-2009 | Отправлено: 18:08 19-12-2011
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Embarcadero RAD Studio XE2 (Pulsar)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru