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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
deks



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mdid
 
Крайне желателен mac. На форуме проскакивала информация о наличии проблем с работой FMX под хакинтошами.  
 
В любом случае, для загрузки софта на реальное устройство потребуется mac + ios dev program от Apple за $99/yr.
 
upd: по моему ИМХО, самая удобная конфигурация для кросс-разработки на XE2 - это mac + vm c win (via parallels desktop/vmware fusion). RAD Studio ставим на win vm. Я лично выбрал fusion, так как для неё есть patched bios с нужным slip (см ветку форума "активация win в vm") - "экономия" на стоимости лицензии win))

Всего записей: 857 | Зарегистр. 09-10-2003 | Отправлено: 13:16 14-09-2011 | Исправлено: deks, 13:19 14-09-2011
eddoc



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Поставил, покрутил демки FM.  
 
Впечатления:
- мысль первая: ух-ты! Круто! Неужели это можно сделать родными компонентами?!!!
- мысль вторая: интересно, куда эти свистоперделки можно прикрутить Неужели серьезные проекты на этом появятся??!
- мысль третья: а старые проекты поддерживать, когда ж большинство компонент обновится??? Или держать DXE для серьезной работы, а на этой тренироваться?
- мысль четвертая: ну ее нафиг, пока - это забавная игрушка. Ее не то, что покупать, а систему засорять ею не стоит. В крайнем случае, можно поставить portable сборку для экспериментов
 

Всего записей: 328 | Зарегистр. 25-11-2007 | Отправлено: 15:07 14-09-2011
salexn1



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
eddoc
а есть portable версия?
если можно - кинь линку

Всего записей: 502 | Зарегистр. 21-02-2008 | Отправлено: 16:37 14-09-2011
Ludens

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

Цитата:
ИМХО, самая удобная конфигурация для кросс-разработки на XE2 - это mac + vm c win

Намедни Девид И давал в Москве кроссплатформенное шоу, так у него там была ровно такая конфигурация -- макбук с вируальной виндоуз-машиной

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

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
salexn1
есть, в варезнике - Delphi Lite

Всего записей: 402 | Зарегистр. 14-11-2006 | Отправлено: 17:14 14-09-2011
Lena44



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
>народ а под ios можно делать приложения?
 
Только в Дельфи, в С++ Builder пока нет
 
 
>Неужели серьезные проекты на этом появятся??!
 
А вы видели разработки Джобса и знакомы с бумом его продаж? Похоже это на FМ?

Всего записей: 282 | Зарегистр. 27-02-2007 | Отправлено: 22:35 14-09-2011
mcka

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет пацаны!
Что такое абстрактный класс?
Читаем на wikipedia http://ru.wikipedia.org/wiki/Абстрактный_класс

Код:
 
TAbstractClass = class abstract
  procedure SomeProcedure;
end;

Хотя метод SomeProcedure может быть не абстрактным и реализован в рамках этого класса, создавать объекты объявленного таким образом класса недопустимо.
 
Проверяем  

Код:
 
type
  TAbstractClass = class abstract
    procedure SomeProcedure;
  end;
 
  TForm5 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
   AbstractClass : TAbstractClass;
  public
    { Public declarations }
  end;
 
var
  Form5: TForm5;
 
implementation
 
{$R *.dfm}
 
procedure TForm5.FormCreate(Sender: TObject);
begin
  AbstractClass := TAbstractClass.Create;
  AbstractClass.SomeProcedure;
end;
 
{ TAbstractClass }
procedure TAbstractClass.SomeProcedure;
begin
  showmessage('SomeProcedure');
end;

 
Доступно , кто разобрался разъясните плиз.

Всего записей: 65 | Зарегистр. 04-09-2007 | Отправлено: 14:51 16-09-2011 | Исправлено: mcka, 16:22 16-09-2011
druff

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mcka
Этот код не только под XE2 выполнится
 
Добавлено:
Поправьте меня если я ошибаюсь:
Абстрактных классов в Делфи практически нет (хотя в справке утверждается обратное), есть только абстрактные методы. XE2 здесь не причём, просто давний косяк.

Всего записей: 402 | Зарегистр. 14-11-2006 | Отправлено: 16:58 16-09-2011
mcka

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
druff RAD Studio\..\source  2010 и XE видел в 26 модулях  
 
есть и такое

Код:
 
 TDSCustomServer = class abstract(TComponent)
 ...
 TEnumerable<T> = class abstract

 
тока я пока не понял для чего он?

Всего записей: 65 | Зарегистр. 04-09-2007 | Отправлено: 17:41 16-09-2011 | Исправлено: mcka, 17:43 16-09-2011
druff

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mcka
чтобы был ) на stackoverflow обсуждалась эта тема, поищу ссылки

Всего записей: 402 | Зарегистр. 14-11-2006 | Отправлено: 18:16 16-09-2011
SolidSnakeRU

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть еще "атрибуты" свойств и методов, которые можно применять.
Они были и раньше, но думаю мало кто знает про них)

Всего записей: 248 | Зарегистр. 27-08-2008 | Отправлено: 19:02 16-09-2011 | Исправлено: SolidSnakeRU, 19:04 16-09-2011
druff

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mcka
http://stackoverflow.com/questions/6187018/abstract-class-in-delphi

Всего записей: 402 | Зарегистр. 14-11-2006 | Отправлено: 20:50 16-09-2011
Eternal_Shield

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

Код:
 
 TDSCustomServer = class abstract(TComponent)
 
 
сие значит, что класс TDSCustomServer должен быть родителем и не должен создаваться (да и не получится, привет Abstract error). По сути, этот класс задаёт шаблон (набор виртуальных/динамических/статических методов и всяких там свойств и определений) методов для наследников...ну и если надо, то содержит какие-то реализованные общие методы/поля.  
 
Сие понятие подкатывает под понятие полиморфизма: 1 интерфейс (читай абстрактный класс) и множество различных его (интерфейса) реализаций (читай наследников) ...
 
По сути, программисту, ключевое слово abstract служит простой напоминалкой, что данный класс не более, чем заготовка для своих идей.

Всего записей: 768 | Зарегистр. 18-05-2009 | Отправлено: 17:13 17-09-2011 | Исправлено: Eternal_Shield, 17:15 17-09-2011
druff

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

Цитата:
TDSCustomServer должен быть родителем и не должен создаваться (да и не получится, привет Abstract error)

Насколько я знаю - ошибки не будет. Максимум компилятор выдаст Warning о создании экземпляра класса с абстрактными методами.  
 
Добавлено:
только не ясно зачем они уже минимум лет пять пишут в справке "If a class is marked abstract, then it cannot be instantiated directly using the Create constructor."

Всего записей: 402 | Зарегистр. 14-11-2006 | Отправлено: 12:08 18-09-2011
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
druff
Да, сейчас это реально не работает. Но никто не знает, что будет в следующей версии компилятора.

Всего записей: 2319 | Зарегистр. 24-05-2007 | Отправлено: 14:52 18-09-2011
Sulphide

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Очень и очень разочаровал 64х битный компилятор дельфи... пример хоть и бредовый но наглядный:
 
procedure start;
var y,z:double;
    i,x:integer;
    t:Cardinal;
begin
    write('Input X: ');
    readln(x);
    t:=GetTickCount;
    for i := 1 to 1000000 do begin
     y:=i+(x/2);
     z:=sin(sqr(y*3));
    end;
    t:=(GetTickCount-t);
    Writeln(t);
    Writeln(z);
    readln;
end;
 
32х битный компилятор дельфи генерирует неплохой код с минимумом записей в память, итог в среднем 47 мс на выполнение этого кода. 64х битный компилятор freepascal - теже 47 мс. аналог на vs с++: 47 мс для х32 и 93мс для х64. Теперь внимание х64 компилятор дельфи - 2.8 секунды - это почти в 60 раз медленнее чем х64 код на фрипаскале!!! ужас. для примера в ридл можно ввести любое целое число, разницы нет. при просмотре дизасма - ниодин из компиляторов не развернул цикл, не мухлевал, тоесть все было честно, для всех компиляторов включались максимальные оптимизации на скорость, все проверки отключались, компилировались релиз версии, но х64 компилятор дельфи после буквально каждого изменения любой переменной тут же пишет ее в память... особенно порадовала фишка типа пишем переменную в память и тут же читаем ее обратно в этот же самый регистр... жесть.
 
зы проц - Phenom II 3.5 Ггц.

Всего записей: 279 | Зарегистр. 20-03-2008 | Отправлено: 17:21 18-09-2011 | Исправлено: Sulphide, 17:29 18-09-2011
spasius



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
program start;
{$APPTYPE CONSOLE}
uses windows;
var y,z:double;
    i,x:integer;
    t:Cardinal;
begin
    write('Input X: ');
    readln(x);
    t := GetTickCount;
    for i := 1 to 1000000 do //begin (оптимизация)
     //y:=i+(x/2);
     z := sin(sqr((i+(x/2))*3));
    //end; (оптимизация)
    t := (GetTickCount-t);
    Writeln(t);
    Writeln(z);
    readln;
end.
 
максимум 109 мс

Всего записей: 695 | Зарегистр. 16-03-2009 | Отправлено: 18:21 18-09-2011
Sulphide

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
spasius понятно, что можно все вручную оптимизировать, но не всегда и не везде, а здесь я привел прямое сравнение с другими компиляторами и грубо говоря компилятор дельфи х64 даже не сравнится с компилятором оного же х32 по способам оптимизации... тоесть присваивая что либо любой переменной надо иметь ввиду что там точно будет что то типа move [x], x .. не зависимо от того, что эта переменная уже на следующем шаге и дальше не будет использоваться.
 
зы а что если нам нужны промежуточные данные из Y?! тогда все возвращается опять на свои места.

Всего записей: 279 | Зарегистр. 20-03-2008 | Отправлено: 20:24 18-09-2011 | Исправлено: Sulphide, 20:33 18-09-2011
tank0

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Anyone knows whether XE2 supports the alignment of static variables?
 
This is request by SSE and SSE2 for 16byte alignment.
 
Ru:
 
Любой знает, XE2 поддерживает выравнивание статические переменные?
 
Это просьбу SSE и SSE2 для 16byte выравнивания.

Всего записей: 144 | Зарегистр. 19-10-2009 | Отправлено: 21:39 18-09-2011
spasius



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sulphide
в таком случае берем тaлмут по XE2 и пишем по правилам ... NativeInt ... etc
а уж если нужна производительность в определенном месте ... берем asm и нужные регистры
для 32-бит eax, ebx, ecx ...
и для 64-бит соответственно rax, rbx, rcx ...
ну и конечно не забываем про отличие сбороки debug от release

Всего записей: 695 | Зарегистр. 16-03-2009 | Отправлено: 23:45 18-09-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