Delphi 2007: Что год текущий нам готовит?.. |
Из неофициальных источников появилась некоторая интересная информация по поводу развития Delphi в 2007 году.
Компания-разработчик нашего любимого RAD-средства, проанализировав пожелания Delphi-сообщества, изменила свои первоначальные планы на текущий год.
Основные моменты:
1) В марте 2007 года выйдет Delphi 2007 (win32)
Плохая новость: в мартовской версии Delphi 2007 не будет юникода;
Хорошая новость: юникод будет в середине лета!
И это не единственная хорошая новость! В мартовской версии Delphi 2007 обещают много интересных "вкусностей", в том числе DBX4 и полную поддержку VISTA.
2) В марте 2007 года должен появиться новый и очень интересный продукт — Delphi for PHP — полноценное RAD-средство для разработки на PHP.
3) Выход новых версий продуктов линейки Turbo предполагается в конце 2007 года.
4) И еще небольшой сюрприз: стоимость Turbo Delphi Pro снизилась до 250$.
Вот так, коротенько...
Елена Филиппова
Всего в теме 1215 сообщений
Добавить свое сообщение
Отслеживать это обсуждение
№ 245 02-04-2007 08:11 | |
Вот здесь: http://www.sql.ru/forum/actualthread.aspx?bid=24&tid=412782&pg=3#3965396
идёт сравнение оптимизирующих способностей компиляторов Delphi 5-6 и Delphi 7 - 2006. В частности, установлено, что разработчики откровенно забили на оптимизацию кода в последних версиях. Код, скомпилированный в Delphi 2006 в 1,5 - 2 раза медленнее анологичного, получаемого на выходе версий 5 и 6. А теперь, - собственно сам вопрос: может быть, кто-нибудь из знающих людей в курсе относительно планов CodeGear по улучшению оптимизирующих свойств своих средств разработки? Как обстоит дело с оптимизацией кода в Delphi 2007? Хотел задать это животрепещущий вопрос лично на семинаре, но попасть на него мне, к сожалению, не удалось:(
№ 244 01-04-2007 05:53 | |
Ответ на »сообщение 243« (Banderas)
___________________________
компилятор за всем здесь явно не уследит. И в delphi6 уже "уследяет"( как по-русски? :))...
№ 243 01-04-2007 05:19 | |
Ответ на »сообщение 242« (riff)
___________________________
Ответ на »сообщение 238« (DRON)
___________________________
бывает и API нужно использовать в смысле? ведь бусут вызываться соответствующие функцииW.
Функции то нужные - да только памяти выделять нужно будет в два раза больше на буфер для апишных функций - компилятор за всем здесь явно не уследит.
№ 242 31-03-2007 10:26 | |
Ответ на »сообщение 238« (DRON)
___________________________
бывает и API нужно использовать в смысле? ведь бусут вызываться соответствующие функцииW.
№ 241 31-03-2007 10:21 | |
Ответ на »сообщение 238« (DRON)
___________________________
непосредственную работу со строкой как с куском памяти если я правильно понял, то по этому поводу здесь »сообщение 225« писал (второй абзац).
№ 240 31-03-2007 10:12 | |
Ответ на »сообщение 239« (Cepгей Poщин)
___________________________
if SW[2] in ['a', 'b', 'о', 'т'] then
Beep; — НЕТ, хотя и ошибок не возникает! - вы немного не правильно написали: в случае переключателя ваш код будет выглядеть вот так:
if (SW[2] in [widechar('a'), widechar('b'), widechar('о'), widechar('т')]) then beep; только widechar будет автоматически подставляться.
№ 239 31-03-2007 09:51 | |
Ответ на »сообщение 238« (DRON)
___________________________
Но речь не о них, а о массивах символов и строках. Ну наверно массивы Real тоже в свое время имелись.
Ха, действительно if String(SW)[2] in ['a', 'b', 'о', 'т'] then
Beep; работает, а if SW[2] in ['a', 'b', 'о', 'т'] then
Beep; — НЕТ, хотя и ошибок не возникает!
№ 238 31-03-2007 09:32 | |
Ответ на »сообщение 237« (Cepгей Poщин)
___________________________
По поводу сложности ввода Unicode, кажется слишком много шума, что-то мне это напоминает историю с типом Real, он может занимать 8 или 6 байт в зависимости от директивы {$REALCOMPATIBILITY OFF/ON}. У многих возникали проблемы с этим типом?
Нет не возникали, так же как не возникнут с Char и WideChar. Но речь не о них, а о массивах символов и строках. Много вы видели кода в котором Length умножают на SizeOf(Char)? Вот и я не видел, хотя работа со строками это ведь не только "+ Delete Copy и Pos", бывает и API нужно использовать и непосредственную работу со строкой как с куском памяти.
Вот в C++ введены макросы позволяющие писать код независящий от размера символа и те, кому это надо, их используют, а в Delphi нет ничего подобного и в подавляющем большинстве случаев считается что длина строки в символах совпадает с длиной в байтах. Есть и ещё одна "небольшая" проблема: при работе со строками посимвольно часто используются множества (if St[I] in SpaceChars then) и в случае с WideChar потребуется поддержка множеств размером более 256, а это судя по всему невозможно (по крайней мере очень неэффективно).
№ 237 31-03-2007 08:07 | |
Причем переключатель должен касатся одного модуля, а не всего проекта По поводу сложности ввода Unicode, кажется слишком много шума, что-то мне это напоминает историю с типом Real, он может занимать 8 или 6 байт в зависимости от директивы {$REALCOMPATIBILITY OFF/ON}. У многих возникали проблемы с этим типом?
Аналогично должна решаться проблема и с Unicode. Т.е. вводится директива {$ANSICOMPATIBILITY} если она включена, то string, char, PChar, chr, #nn используют один байт, иначе два. Для явного указания уже и так существуют AnsiChar, WideChar и т.д. Используя директивы условной компиляции можно автоматически решить проблему вызовов API. Это приведет к удвоению кода, но не приведет к удвоению размера приложения. Кроме того существует Overload. Все модификации можно автоматизировать. Ручной труд конечно не исключается, но не на столько, чтобы в течении нескольких лет ни чего было не возможно сделать.
Приведенный код в Delphi7 рисует "?" (строка 4,5), а в BDS2006 крестик, надеюсь, что в BDS2007 и в первых трех строках будет изображаться крестик, а не "Ч" :-)
procedure TForm12.FormPaint(Sender: TObject);
var SW: WideString;
R: TRect;
R8: real;
R6: real48;
begin
SW := 'Фото 10'+#215+'15'+#13#10+
'Фото 10'+chr(215)+'15'+#13#10+
'Фото 10'+Char(215)+'15'+#13#10+
'Фото 10'+'?'+'15'+#13#10+
'Фото 10'+WideChar(215)+'15'+#13#10+
'R8='+inttostr(SizeOf(R8))+' R6='+inttostr(SizeOf(R6));
SW := SW+#13#10+'REALCOMPATIBILITY ON';
SW := SW+#13#10+'REALCOMPATIBILITY OFF';
R := Rect(3,3,200,200);
DrawTextW(Canvas.Handle, PWideChar(SW), Length(SW), R, DT_WORDBREAK);
end;
№ 236 31-03-2007 07:20 | |
Уже можно скачать delphi4php с лицензией на один день... (извините за повтор, если эта новость уже была). Скачал, я вчера её.... Ну... лицензии на один день мне хватило. Imho так себе. Я остаюсь на ZendStudio. Чё-то как-то ни переучиваться, ни перестраиваться не хочется. Хтмлки и сам нарисовать могу, проекты и так разделены на отдельные модули, внутренности писать всё равно самому писать придётся, дебуггер в zend работает отлично, всё русифицированно, база автозавершения кода работает...
Добавить свое сообщение
Отслеживать это обсуждение
Дополнительная навигация: |
|