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

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

Модерирует : 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

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

AlekXL



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

Цитата:
Это определенно не реверс. Мало того, что там алгоритмы анимации и работы триггеров такие же дебильные как в VGScene и совпадают практически до строчки (я сравнивал с CT 4.30), там еще и демки и стили имеют полную идентичность.  

надо стукнуть в  эмбу. Нехорошо так нагло красть.
 
--
А это нормально , что NativeInt не совместим
1) ни с Int64  в 64 разрядном режиме,
2)ни с integer  в 32 разрядном режиме
 
в плане var/out параметров?
 
Добавлено:
и еще вопрос:
 
procedure TBigCardinalVariantType.CastTo(var Dest: TVarData; const Source: TVarData; const AVarType: TVarType);
var
  Big: BigCardinal;
  Temp: TVarData;
  WStr: WideString;
begin
  if Source.VType = VarType then
  begin
    { Only continue if we're invoked for our data type }
    Big := TBigCardinalVarData(Source).BigCardinalPtr^;
 
выдает ошибку: Invalid Typecast, очевидно, не нравится ему TBigCardinalVarData(Source). Только при 64-разрядной компиляции!
 
  TBigCardinalVarData = packed record
    { Var type, will be assigned at runtime }
    VType: TVarType;
    { Reserved stuff }
    Reserved1, Reserved2, Reserved3: Word;
    { A reference to the enclosed big cardinal }
    BigCardinalPtr: PBigCardinal;
    { Reserved stuff }
    Reserved4: LongWord;
  end;
 
как правильно это пофиксить?

Всего записей: 792 | Зарегистр. 24-04-2008 | Отправлено: 18:36 24-07-2013 | Исправлено: AlekXL, 19:06 24-07-2013
valgreesh



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

Цитата:
надо стукнуть в  эмбу

Я этим занимать не буду, если кто-то решит - я не возражаю.
 

Цитата:
А это нормально , что NativeInt не совместим
1) ни с Int64  в 64 разрядном режиме,
2)ни с integer  в 32 разрядном режиме  

Нормально.
 

Цитата:
выдает ошибку: Invalid Typecast, очевидно, не нравится ему TBigCardinalVarData(Source)

Компилируешь в 64 бит? У тебя размер структур разный. Замени последний Longword на NativeInt;

Всего записей: 292 | Зарегистр. 30-11-2011 | Отправлено: 19:21 24-07-2013
AlekXL



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

Цитата:
Компилируешь в 64 бит? У тебя размер структур разный. Замени последний Longword на NativeInt;

да, помогло. Однако ж мое раздутое самомнение немного сдулось.
---
Я хочу озадачить япошку и прошу вашей помощи
загрузите этот исходник
При условии , что XE4 установлен в дефолтное место, должен скрипт bld.cmd забилдить два проекта.  
Так что мои два вопроса
1) запускается ли билд правильно без танцев и правок у вас на машине
2) стабильно ли выдает  

Код:
src\Tests.Singleton.pas(66): error F2084: Internal Error: C18104

 
 
Добавлено:
http://qc.embarcadero.com/wc/qcmain.aspx?d=117377

Всего записей: 792 | Зарегистр. 24-04-2008 | Отправлено: 20:59 24-07-2013
valgreesh



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlekXL
Протестировал на чистой виртуалке WinXP SP3 с установленной Delphi XE4 Update 1.
 

Цитата:
1) запускается ли билд правильно без танцев и правок у вас на машине  

Запустился только после замены %programfiles(x86)% на %programfiles%
 

Цитата:
2) стабильно ли выдает

Код:
src\Tests.Singleton.pas(66): error F2084: Internal Error: C18104

 

Стабильно.

Всего записей: 292 | Зарегистр. 30-11-2011 | Отправлено: 22:47 24-07-2013
AlekXL



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

Цитата:
Протестировал на чистой виртуалке WinXP SP3 с установленной Delphi XE4 Update 1.  

ладно, вряд ли разрабы используют 32 систему.  Мне такое извращение в голову не пришло.
 
тем временем обнаружил и запостил еще один тест
http://qc.embarcadero.com/wc/qcmain.aspx?d=117379
 
DeHL -зверская либа, проверяющая на вшивость не хуже DelphiSpring
 
 

Всего записей: 792 | Зарегистр. 24-04-2008 | Отправлено: 23:01 24-07-2013
Arioch1



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ты еще на LLVM-компиляторе прогони :-D
 
Добавлено:
Интересно, а из FMX уже убрали спираченный из GLScene куски ?
 
вроде нмного было, за пару лет могли и поправить. Но могли и болт положить.
 
Добавлено:

Цитата:
DeHL -зверская либа, проверяющая на вшивость не хуже DelphiSpring

 
учитывая, чтo вторая - наследница (как минимум идейная) первой, то так и должно было быть.
 
http://www.spring4d.org/general/rebirth-of-spring4d/

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 13:08 25-07-2013
valgreesh



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

Цитата:
DeHL -зверская либа, проверяющая на вшивость не хуже DelphiSpring  

Для этого не нужно быть "зверской" - достаточно начать пользоваться новшествами языка. У меня такая печаль с 2006 версии - компилер глючит на advanced records. С дженериками ситуация еще хуже.
 
Arioch1

Цитата:
Интересно, а из FMX уже убрали спираченный из GLScene куски ?  

Первым же апдейтом убрали. Даже писали, что апдейт закрывает только эту проблему.

Всего записей: 292 | Зарегистр. 30-11-2011 | Отправлено: 14:25 25-07-2013
Arioch1



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
в 2006 вообще все глючит.  то он virtual игнорирует, то URW-шками на рекордах сыпет...
 
но к xe2 дженерики используемые в RTL более-менее отладили уже. А вот именно на s4d/dhl начинают лезти фишки, которые отладит забыли.

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 14:52 25-07-2013
AlekXL



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я строю проект при помощи терминала и msbuild, но когда пытаюсь запустить отладчик в среде, то вываливает окно линковки. Почему среда не использует уже построенный исполняемый файл?

Всего записей: 792 | Зарегистр. 24-04-2008 | Отправлено: 08:42 26-07-2013
Arioch1



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
так ты небось строишь
1) релиз - без отладочной информации
2) не в ту папку, где среда ждет отладочный exe

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 11:21 26-07-2013
AlekXL



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
нет.
я контролирую, куда идет каждый таргет(dcu output, и output path), их 4 для Win.  
в данном случае идет речь об отладочной версии. Порой среда запускает без линка, НО В ПЕРВЫЙ РАЗ, после запуска среды(а также, при смене таргета, скажем, с Win32->Win64 или обратно), среда ВСЕГДА линкует сама, а я хочу использовать среду ТОЛЬКО для написания кода и для отладки, НО НИКОГДА -- для компиляции и линковки(ибо из командной строки билдится стабильнее) .  
 
Подойдут любые варинты для осуществления этой задачи. Что посоветуете? Как-то ведь среда умеет отлаживать удаленно(но для этого нужны rsm символы, кажись, а я не знаю как заставить их генерится из командной строки, и как запустить "удаленную" сессию отладки).
 
 

Всего записей: 792 | Зарегистр. 24-04-2008 | Отправлено: 00:29 27-07-2013 | Исправлено: AlekXL, 07:44 27-07-2013
AlekXL



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
И еще вопрос -- если record , содержащая , скажем, динамический массив, размещается в стеке, то должно ли зануляться ее содержимое? Потому как под XE3 64-bit не зануляется..

Всего записей: 792 | Зарегистр. 24-04-2008 | Отправлено: 09:52 27-07-2013
HeMet

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

Цитата:
И еще вопрос -- если record , содержащая , скажем, динамический массив, размещается в стеке, то должно ли зануляться ее содержимое? Потому как под XE3 64-bit не зануляется..

Для record вызывается системная FinalizeRecord, которая финализирует всё, что может потребовать финализации. Причем юзает для этого RTTI, кажется, что есть причина недовольства - почему компилятор не генерит для каждого типа записи свой спец. финализатор? Тем более, что после введение расширенных записей это неплохо вписывается.
 
P.S. EMB обнародовала какие-то свои наработки по LLVM _http://cc.embarcadero.com/item/29496 (порт дебагера под Win64). Необычно для них. Глядишь и в LLVM комитить будут

Всего записей: 212 | Зарегистр. 05-09-2007 | Отправлено: 11:49 27-07-2013 | Исправлено: HeMet, 11:56 27-07-2013
AlekXL



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

Цитата:
P.S. EMB обнародовала какие-то свои наработки по LLVM _http://cc.embarcadero.com/item/29496 (порт дебагера под Win64). Необычно для них. Глядишь и в LLVM комитить будут

Да, я тоже заметил. Там лицуха наверное GPL, или подобная. Иначе хрен чего они бы открыли. Вообще, для меня , критерием зрелости тулчейна является наличие мощного интегрированного отладчика. Остальное постольку-поскольку.
 
 Порт LLDB под винь это очень хорошая новость для опенсорсников, которые часто с необъяснимым фанатизмом кладут болт на виндовые порты своих продуктов. Теперь по идее, ФПЦ может отказаться от религиозного GDB в пользу LLDB, особенно если эмба  допилит последний. И, формат отладочных символов теперь достаточно нетрудно будет реверсироваться.
 
Вообще, надо признать, правильным путем идут товарищи.

Цитата:
Глядишь и в LLVM комитить будут

боюсь, только, из-за этого отношения с M$ могут вконец испортиться.
 

Цитата:
Для record вызывается системная FinalizeRecord, которая финализирует всё, что может потребовать финализации. Причем юзает для этого RTTI, кажется, что есть причина недовольства - почему компилятор не генерит для каждого типа записи свой спец. финализатор? Тем более, что после введение расширенных записей это неплохо вписывается.  
И, что важнее, она не только финализатор вызывает , но инициализатор тоже.  
Таким образом, если в объекте или записи хотя бы они managed член, то вызывается эта пара.  
По идее, можно было бы дефолт ctor и dtor прилепить, даже просто перехватив этот вызов, или перекомпилить System.pas
А дальше найти к-тор, и д-тор, скажем, при помощи атрибутов (атрибуты ведь поддерживаются  у рекордов, или нет?).  
 
А это все медленно.Даже простое включение такой вот управляемого типа гарантирует в прологе и эпилоге рутины бутерброд фильтра исключений, плюс, не знаю точно, но вроде бы это запрещает подстановку(или не запрещает?) функции. Не должны быть value типы такими, имхо.
 
Для меня капканом был assumption, что если managed члены нулятся, то и остальные тоже. А это НЕ ТАК!

Всего записей: 792 | Зарегистр. 24-04-2008 | Отправлено: 12:44 27-07-2013 | Исправлено: AlekXL, 13:00 27-07-2013
HeMet

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

Цитата:
боюсь, только, из-за этого отношения с M$ могут вконец испортиться.

Почему? А какие у них больно хорошие отношения с MS? Последние и так никогда любви к Borland и т.д. не испытывали.

Всего записей: 212 | Зарегистр. 05-09-2007 | Отправлено: 13:45 27-07-2013
sergionn

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Посоны, какая тут любовь-нелюбовь, Nothing personal, just business!...

Всего записей: 472 | Зарегистр. 02-11-2011 | Отправлено: 15:59 27-07-2013
Kadavr



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FastLine series missing in TeeChart Lite for RAD XE4 [temporary bugfix]

Всего записей: 176 | Зарегистр. 19-03-2004 | Отправлено: 23:26 28-07-2013
deks



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlekXL
 
LLVM в основной части лицензирован под BSD-Like лицензией (Code in the LLVM project is licensed under the "UIUC" BSD-Style license, All of the code in the LLDB project is available under the standard LLVM License, an open source "BSD-style" license).
 
Если мне не изменяет память, BSD позволяет использовать модификации исходного кода для коммерческих разработок. А причина открытия кода - хз какая. может, они не уверены что в состоянии "допилить" дебаггер до вменяемого состяния самостоятельно. но в "светлые" намерения ЭМРО чего-то не верится)) Особенно после ряда "кидков" (лично мне так никто и не дал никакой компенсации за KSDev Lifetime/AnyDAC Subscription, хотя обещали неоднократно).

Всего записей: 857 | Зарегистр. 09-10-2003 | Отправлено: 16:03 29-07-2013
HeMet

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

Цитата:
А причина открытия кода - хз какая

Ну, они написали, типа, "мы хотели сами слить это с основным проектом, но времени у нас нету нифига, поэтому надеемся на сообщество"

Всего записей: 212 | Зарегистр. 05-09-2007 | Отправлено: 16:40 29-07-2013
Arioch1



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

Цитата:
 которые часто с необъяснимым фанатизмом кладут болт на виндовые порты своих продуктов

 
Вообще крутая заява. Слушь, Алек, купи мне машину! что, не подаришь? откуда у тебя этот нездоровый необъяснимый фанатизм ?
 
Добавлено:

Цитата:
 поэтому надеемся на сообщество

 
на месте LLVM я бы спросил "а что там у нас на TIOBE ? хммм... а что там у EMBT с долгосрочной поддержкой опенсорсный продуктов ? хммм... Ну и на хрена нам геморрой на свою голову и голову сотен тысяч наших пользователей?" Просто реально, это Эмбе нужно доказывать, что они зачем-то нужны LLVM'у, а не наоборот.

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 17:57 29-07-2013
Открыть новую тему     Написать ответ в эту тему

Страницы: 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

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru