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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Угу, дизассемблированный код... инфа должна определить как в любом месте кода получить доступ к тем или иным локальным переменным или вызвать ту или иную функцию. И все вариации ABI (конвенция вызовов, выравнивание данных) напрямую на том отражаются
внутри исполняемого файла может быть уберкастомная конвенция, как это в Win32. Мы же не собираемся отлаживать системные библиотеки.
 Что же до системных структур данных, то, конечно, такое может быть, но мне не верится. Не может быть такого разгильдяйства. Не должно..
 

Цитата:
А гугл ну пряяям заждался!  
Ну M$ явно хочет контролировать платформу жестко.. А гугл просто продает рекламу..
 Да и что гугл, когда окончательные решения принимает самсунг. Но религиозная вера Google в java и впрямь напрягает.
 

Цитата:
 А вот на гугломаркете придётся оооочень сильно потолкаться локтями. И помогать нам в этом будет Дельфи "не упала и ладно".  
Конкурировать с жаба-приложениями? А вот поглядим.
 Ну не верю я, что на далвике что-то серьезное можно сделать. Сейчас телефоны по аппаратной мощи равны, наверное, системам с  w2k, а вот по сложности программ -- сомневаюсь.  

Цитата:
Т.е. в сисадмина, который допиливает линукс, чтобы старая программа продолжала работать, я верю.
А я --не очень. Любое сложное приложение, а тем более ядро системы мало собрать. Надо собрать -- правильно. Иначе будут глюки в различных местах.
 Даже программер не справится с незнакомыми исходниками.
И я не думаю, что кастомизаторы андроида делают breaking changes в  ядре или стандартных либах.
 

Цитата:
Цитата:
 Под Intel есть гораздо более совершенная ОС
QNX ??? *_*  
Нет, Windows. Там по крайней мере ни о каких ABI не нужно беспокоится.
 

Цитата:
AlekXL ? о чем речь-т ошла, сделай демку plz

В DeHL dunit тестах есть такой неявный assumption, неверный. Но весь код хотя и "примерно" готов для 64-bit, но реально не работает. Я допиливал.  
Так что в XE или раньше может и зануляется.
А вот в XE3 64-bit зануляется только managed член. Хотя в прологе есть  
XOR RAX, RAX
STOSQ
STOSQ
то есть похоже на зануление структуры, но как-то не попадает. Может, попробую воспроизвести на более простом примере.

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



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

Цитата:
 Я как раз слышал, что там настолько жёсткие зависимости на старые версии системных библиотек, что на новых оно летает только с бубнами и на одном крыле.  

 
Разве это не забота пакетных менеджеров вытягивать зависимоси для софта, а старая или новая не важно -  лишь бы в репозитарии была.
 
AlekXL

Цитата:
А вот в XE3 64-bit зануляется только managed член

 
А только менеджед и зануляются. В остальных полях получаешь мусор или нули если повезет. Это с рождения так.

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



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

Цитата:
А только менеджед и зануляются. В остальных полях получаешь мусор или нули если повезет. Это с рождения так.

угу, похоже. Ну тащемта все верно. Ибо нефиг.

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

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Стоны о несовместимости ABI разных андроидов сильно преувеличены. Я недавно забавы ради запустил на андроидовском ядре окружение Lubuntu. Причем ничего не перекомпилировал, просто скачал готовые пакеты из репозиториев. Единственная проблема была в том, что Xorg не мог нормально подружится с глючным драйвером фреймбуфера в ядре (планшет дешевый китай).

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 15:30 31-07-2013
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Свежий Слегка обновленный роадмап: http://edn.embarcadero.com/article/42544
Как то непонятно на счет поддержки Андроида в Делфи и Студии. Судя по слайдам либо Студия изначально зарелизится без андроида, либо релиз Делфи будет на пару месяцев раньше, чем у Студии.

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 14:11 08-08-2013 | Исправлено: Frodo_Torbins, 14:18 08-08-2013
AlekXL



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
я дико извиняюсь за свою безграмотность,но
 
предположим , я в начале юнита стоит директива
 {$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}
 
мне необходимо, чтобы у класса, объявленного ниже, лишь отдельные члены были видны в е-ртти. Отдельные, а не , скажем  все публичные. Ну и сам класс, конечно.. Можно ли это сделать. Скажет, какой-нибуть атрибут поставить, или что..

Всего записей: 792 | Зарегистр. 24-04-2008 | Отправлено: 18:29 08-08-2013
A_V

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

Всего записей: 770 | Зарегистр. 07-04-2002 | Отправлено: 20:18 08-08-2013
Arioch1



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

Цитата:
Разве это не забота пакетных менеджеров вытягивать зависимоси для софта

Только после того, как кто-то эти пакеты создаст (и для самой прграммы, и для библиотек) и эти зависимости в них пропишет.
 
PS: подайте плюсик, люди добрые...  
http://blogs.embarcadero.com/vsevolodleonov/2013/08/07/secr201/

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 10:48 09-08-2013
sergionn

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

Цитата:
PS: подайте плюсик, люди добрые...  

уже подали пару-тройку...........

Всего записей: 472 | Зарегистр. 02-11-2011 | Отправлено: 11:35 09-08-2013 | Исправлено: sergionn, 11:35 09-08-2013
valgreesh



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

Цитата:
Только после того, как кто-то эти пакеты создаст (и для самой прграммы, и для библиотек) и эти зависимости в них пропишет.  

Само-собой. Линуховый софт без пакетов вообще не распространяется. Благо сделать это проще, чем даже простейший инсталлер под виндами.
 

Цитата:
 подайте плюсик, люди добрые...  

Там уже три плюса мои

Всего записей: 292 | Зарегистр. 30-11-2011 | Отправлено: 12:33 09-08-2013
AlekXL



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А это нормально, что выдает такую ошибку:

Код:
 
program Project28;
 
{$APPTYPE CONSOLE}
 
{$R *.res}
 
uses
  System.SysUtils;
  type
  IMyIface=interface
    ['{E1BC77E0-B0E5-4502-8EFD-9C79BAC83648}']
  end;
  TMyImp=class(TInterfacedObject,IMyIface);
 
 
TPlainUtils=record
 class function SafeNullIface<T:IInterface>(var iface: T): Boolean; static; inline;
end;
 
 
{ TPlainUtils }
 
class function TPlainUtils.SafeNullIface<T>(var iface: T): Boolean;
begin
  try
    PUnknown(@iface)^:=nil;
    result:=True;
  except
    result:=false;
  end;
 
end;
 
 
var iface:IMyIface;
begin
  try
  try
    iface:=TMyImp.Create();
 
 
  finally TPlainUtils.SafeNullIface(iface);
//[dcc32 Error] Project28.dpr(42): E2033 Types of actual and formal var parameters must be identical
 
  end;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.
 

Всего записей: 792 | Зарегистр. 24-04-2008 | Отправлено: 15:45 09-08-2013 | Исправлено: AlekXL, 15:45 09-08-2013
G787



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

Всего записей: 1035 | Зарегистр. 04-12-2005 | Отправлено: 16:19 09-08-2013 | Исправлено: G787, 17:07 09-08-2013
Eternal_Shield

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

Всего записей: 766 | Зарегистр. 18-05-2009 | Отправлено: 16:19 09-08-2013
AlekXL



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

Цитата:
Подскажите а есть ли в среде фича что бы можно было -Колапсить и +Унколапсить там процедуры, функции, регионы в массовом порядке ?
 

есть Fold/Unforld  в контекстном меню
есть {$REGION 'Мой регион'} {$ENDREGION} директивы.
 
Добавлено:

Цитата:
Нормально ... так всегда было  

может, и так, но стоит ли заводить QC?
Мне в последнее время везет: 3 бага было компилятора Resolved, как с куста. Правда,то были очень серьезные баги.

Всего записей: 792 | Зарегистр. 24-04-2008 | Отправлено: 16:33 09-08-2013
Eternal_Shield

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

Код:
 
Ctrl+Shift+K+A    Code folding: Expands All blocks of code    Delphi 2006 and up
Ctrl+Shift+K+E    Code folding: Collapse current block of code    Delphi 2006 and up
Ctrl+Shift+K+U    Code folding: Expand current block of code    Delphi 2006 and up
Ctrl+Shift+K+T    Code folding: Toggle Current block (expand & collapse)
Ctrl+Shift+K+R    Code folding: Collapses all regions {$region 'comment'}..{$endregion}    Delphi 2006 and up
Ctrl+Shift+K+P    Code folding: Collapse nested procedures
Ctrl+Shift+K+M    Code folding: Collapse all methods
Ctrl+Shift+K+C    Code folding: Collapse all classes
Ctrl+Shift+K+G    Code folding: Collapses down to primary Groups [Interface/Implementation]    Delphi 2006 and up
Ctrl+Shift+K+N    Code folding: Collapses Namespace/Unit
 

 
AlekXL

Цитата:
но стоит ли заводить QC?  

Что-то мне подсказывает, что это пустая трата времени и нервов ... Томо-чан упорный малый ... проще и быстрее слегка замодить сабж и ехать дальше:

Код:
 
class function SafeNullIface<T:IInterface>(const iface_T: T; var iface): Boolean; static; inline;  
 

 

Всего записей: 766 | Зарегистр. 18-05-2009 | Отправлено: 16:43 09-08-2013
AlekXL



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

Цитата:
class function SafeNullIface<T:IInterface>(const iface_T: T; var iface): Boolean; static; inline;  

это некрасиво. Честное слово, лучше просто явно конкретизировать шаблон в момен вызова.
 
--
Интересно получается, -- что, у интерфейсов нет e-RTTI на свойства? И атрибуты не поддерживаются?
 

Всего записей: 792 | Зарегистр. 24-04-2008 | Отправлено: 19:19 09-08-2013
sergionn

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
"Пичалька" с поддержкой андроида на x86-железе:
 
Цитата от Марко:
"We are fully monitoring the Intel/Android market, which apparently will see Samsung also involved.
But our first release of Delphi for Android is not expected to include Intel support..."
 
Однозначно, у меня нет желания начинать разработку приложения если на части устройств оно заведомо не будет работать, а если и будет то неизвестно когда,
да еще за это "отваливать" в районе 500 баков!
Лучше уж тогда xamarin, так как oxygene у меня тоже отпал из-за отсутствия ui дизайнера для андроида....  
 
ссылка для инфы по портированию arm на x86, пока нет времени "копать",
но может будут о кого какие мысли:
 _http://software.intel.com/ru-ru/articles/ndk-android-application-porting-methodologies

Всего записей: 472 | Зарегистр. 02-11-2011 | Отправлено: 19:33 09-08-2013 | Исправлено: sergionn, 20:02 09-08-2013
Eternal_Shield

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

Цитата:
это некрасиво.

Зато позволяет отцепиться от явного указания интерфейса.  
 

Цитата:
Интересно получается, -- что, у интерфейсов нет e-RTTI на свойства? И атрибуты не поддерживаются?  

Почему? Атрибуты поддерживаются. Даже rtti какой-то есть ... не весь конечно, но есть.

Всего записей: 766 | Зарегистр. 18-05-2009 | Отправлено: 19:41 09-08-2013
HeMet

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

Цитата:
Однозначно, у меня нет желания начинать разработку приложения если на части устройств оно заведомо не будет работать

Все устройства упрёшься поддерживать (Эмба заявили поддержку как 2.3, так и 4.2, 4.3), к тому же устройств на процессорах Intel сейчас меньшинство.
 

Цитата:
Лучше уж тогда xamarin, так как oxygene у меня тоже отпал из-за отсутствия ui дизайнера для андроида....  

Он из себя тоже ничего особенного не представляет (на работе проект с ним под иОС), особенно с его родной IDE, а чтобы в VS интегрироваться нужно версию за $999. Правда для Ведра у него дизайнер GUI хотя бы встроен - для iOS хитрый финт ушами с Interface Builder.

Всего записей: 212 | Зарегистр. 05-09-2007 | Отправлено: 20:12 09-08-2013 | Исправлено: HeMet, 20:14 09-08-2013
AlekXL



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

Цитата:
Однозначно, у меня нет желания начинать разработку приложения если на части устройств оно заведомо не будет работать, а если и будет то неизвестно когда,
да еще за это "отваливать" в районе 500 баков!  

пфф. Вам шашечки или ехать? Можете идти в свой сборочно-мусорный рай, попытаться создать серьезное, ресурсоемкое приложение, -- и бороться с платформой и с этим самым мусорщиком . Что б, сцуко, не запустился когда не надо.  
 
Или кропайте простенькие приложения,  теряя квалификацию.
 
А что до Интел... Нет, считай, market share, у штеуда. Нетучки.
 
 Я согласен с тем, что у штеуда могут быть перспективы в мобильном сегменте, поскольку ARM почти уже уперся в частотный потолок, 2Ггц, а все, что дальше -- лавинообразное увеличение энергопотребления. Это факт, проверено опытом.
 
Ядер уже и так на арме много, стало быть , выход один -- наращивать IPC. То есть превратить "утиную"/нулевую оптимизацию  во что-то похожее на внутренний изощренный суперскаляр x86.
 
Только вот для этого нужны годы разработки, и/или опытные в этом вопросе профессионалы, элита, какие есть практически только у АМД и Штеуда. Может, у голубого гиганта еще остались..
 
Так что у штеуда есть перспектива, но для этого должна умереть жаба, которая у него разрослась до неприличных размеров. Это сбудется, но еще не завтра.
 

Цитата:
Лучше уж тогда xamarin, так как oxygene у меня тоже отпал из-за отсутствия ui дизайнера для андроида....  

вот уж последнее, о чем бы я бы беспокоился. Главное,  как критерий истины -- наличие мощного отладчика. Нету или корявый? Сходу досвидос! Есть? Тогда многое простится.
----
 

Цитата:
Почему? Атрибуты поддерживаются. Даже rtti какой-то есть ... не весь конечно, но есть.

 

Код:
 
  TRttiInterfaceType = class(TRttiStructuredType)
  private
    FMethods: TArray<TRttiMethod>;
    FTotalMethodCount: Integer;
    constructor Create(APackage: TRttiPackage; AParent: TRttiObject; var P: PByte); override;
    function GetIntfFlags: TIntfFlags;
    function GetDeclaringUnitName: string;
    function GetBaseType: TRttiType; override;
    function GetBaseTyped: TRttiInterfaceType;
    function GetGUID: TGUID;
  public
    property BaseType: TRttiInterfaceType read GetBaseTyped;
    property GUID: TGUID read GetGUID;
    property IntfFlags: TIntfFlags read GetIntfFlags;
    property DeclaringUnitName: string read GetDeclaringUnitName;
 
    function GetDeclaredMethods: TArray<TRttiMethod>; override;
  end;
 

вот все, что есть в System.RTTI.
чета не видно свойств. Атрибуты методов, наверное, имеются.
 А как тогда создаются дуальные ко-классы? Там, что мастер генерит всю эту машинерию IDispatch? Странно.
Я тестировал код-пример, который практически для любого класса мог создать IDispatch обертку(только Invoke реализован был там)  во время исполнения(за счет e-RTTI).  
 
Получается, в рантайм не получится IDispatch proxy для обычного интерфейса?
 

Всего записей: 792 | Зарегистр. 24-04-2008 | Отправлено: 20:23 09-08-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