
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.52] |
![]() |
|
Сообщ.
#1
,
|
|
|
Итак, он вышел. Что есть на данный момент:
Сайт codegear стал мультиязычным, справа вверху есть переключение. Контент вносится. Общее описание Краткое техническое описание (pdf) Подробный список функций (pdf) FAQ Статья, интересная: Средства разработки CodeGear Подборка блогов, не моя, от представительства: Статья в трех частях Интересное мнение Тибурон со слов очевидцев Записки юного программиста Нововведения в языке http://metaclass.livejournal.com/316702.html Добавлено Версия Turbo будет в начале 2009 года. |
Сообщ.
#2
,
|
|
|
Цитата Romkin @ Версия Turbo будет в начале 2009 года. погоди !!! версия турбо будет 2009 или 2007??? все таки после выхода 2007 вышла турба 2006!!! За все остальное огромное спасибо, чует мое сердце сегодня работать больше не смогу, пока все не прочту ![]() |
Сообщ.
#3
,
|
|
|
А какой смысл выпускать Turbo на старой версии?
![]() На основе 2009, но с задержкой после выхода. И вроде Turbo была до 2007. |
Сообщ.
#4
,
|
|
|
Цитата Romkin @ А какой смысл выпускать Turbo на старой версии? ![]() На основе 2009, но с задержкой после выхода. И вроде Turbo была до 2007. ну прошлый релиз они же делали на старой версии ![]() |
Сообщ.
#5
,
|
|
|
Поставил. Исправили багу с кириллицей в редакторе - уже ради этого стоит ставить Тибурон
![]() |
Сообщ.
#6
,
|
|
|
Romkin, спасибо за ссылки. Новшества порадовали, прям как специально для меня
![]() |
Сообщ.
#7
,
|
|
|
Virtual Treeview сильно глючит - вот что значит натягивать компонент на юникод
![]() Ribbon - отрисовка глючновата, мерцание бывает заметно. Если положить на ленту какой-то сложный компонент (то же TreeView), то прокрутка мышью все равно будет передаваться ленте. Не интегрируется с заголовком в стиле Windows Vista, как в Office 2007. TImageList поддерживает любые форматы изображений, зарегистрированные в Delphi, в том числе PNG. |
Сообщ.
#8
,
|
|
|
Если есть какие-то вопросы - спрашивайте, не стесняйтесь
![]() |
Сообщ.
#9
,
|
|
|
Вообщем где это чудо можно толком скачать?
В ветке Новости CodeGear половина выложеных ссылок не работают ![]() Цитата File not found ![]() |
![]() |
Сообщ.
#10
,
|
|
Цитата Romkin @ Если есть какие-то вопросы - спрашивайте, не стесняйтесь ![]() Где можно пример с Ribbon'ом взять? Я чего-то сам попытался накидать, но получилось совсем не похоже на Office 2007. |
Сообщ.
#11
,
|
|
|
Цитата Romkin @ Если есть какие-то вопросы - спрашивайте, не стесняйтесь А что за анонимные методы и что они позволяют сделать? Ты не разбирался? Явно что-то из функционального программирования позаимствованое, судя по описанию в тех ссылках, что ты привел, но что-то смысл не особо понятен. |
Сообщ.
#12
,
|
|
|
Цитата --Ins-- @ А что за анонимные методы и что они позволяют сделать? forum.vingrad.ru Can Your Programming Language Do This? (Joel on Software) Tiburon - Anonymous Methods Understanding Anonymous Methods Tiburon: fun with generics and anonymous methods Anonymous methods in testing / profiling situations Anonymous methods in testing / profiling - Pt. 2 Цитата What can I do with an anonymous method which I can’t do without an anonymous method? Nothing. In fact, there’s nothing which you can do with Delphi which you cannot do with ASM. Anonymous methods are a convenience suited to certain styles of programming, like strong, static typing, and object orientation. They will probably seem useless to people who do not adopt those styles of programming, just as virtual methods will seem useless or dangerous to a non-OO programmer. |
Сообщ.
#13
,
|
|
|
Цитата Megatron @ Вообщем где это чудо можно толком скачать? В ветке Новости CodeGear половина выложеных ссылок не работают Пока неясно когда триал будет. То, что там выложено - для внутреннего пользования. Цитата Profi @ Где можно пример с Ribbon'ом взять? Я чего-то сам попытался накидать, но получилось совсем не похоже на Office 2007. Порылся - вроде ничего нет, разве что видео можно посмотреть. Цитата --Ins-- @ А что за анонимные методы и что они позволяют сделать? Ты не разбирался? Шаг к функциональному программированию, это да. Метод без имени, вот примерчик подобрал: ![]() ![]() type TMyFunc = reference to function(): string; ... procedure TForm4.Button1Click(Sender: TObject); begin CallMe(function (): string begin Result := 'hello'; end) end; procedure TForm4.CallMe(F: TMyFunc); begin ShowMessage(F()); end; В параметре передается действие, а не данные. Зачем это надо? Все не так просто, и лучше действительно посмотреть и потрогать функциональное программирование. Прежде всего - "ленивые вычисления". Если передаете в метод аргумент, который внутри используется по условию, и при этом требует сложного вычисления, оформите это самое вычисление анонимным методом. И оно пройдет только при выполнении условия, когда надо, а не при вызове метода. |
Сообщ.
#14
,
|
|
|
Цитата CodeMonkey @ Nothing Я бы не был столь категоричен. Помнишь свою статью про выполнение кода в отдельном потоке? Судя по всему, теперь подобное реализовать можно гораздо проще, без шаманизма, вполне легальными средствами. Глянь здесь пример: http://skiminog.livejournal.com/33854.html Цитата Romkin @ Все не так просто, и лучше действительно посмотреть и потрогать функциональное программирование. Да, ты прав. Так без предварительной подготовки (читай - навыков в ФП) понять что к чему и главное - зачем - тяжеловато. Будет время - нужно будет поразбираться. Это может оказаться очень хорошей фичей. Вообще - интересный поворот в идеологии языка, надо признать. Не помню, чтобы когда-либо со времен появления в Паскале ООП, язык претерпевал настолько значимые изменения. Главное, чтобы это все теперь хорошо вписалось в существующую систему. |
Сообщ.
#15
,
|
|
|
Цитата --Ins-- @ Я бы не был столь категоричен. Во-первых, это цитата, во-вторых, вот ключевые слова: Цитата CodeMonkey @ In fact, there’s nothing which you can do with Delphi which you cannot do with ASM. ![]() Цитата --Ins-- @ Судя по всему, теперь подобное реализовать можно гораздо проще, без шаманизма, вполне легальными средствами. Ну, когда Tiburon в руки попадёт, мы посмотрим и пощупаем. А пока, в том примере я вижу, что ключевое условие не выполняется: "Выполнение кода в потоке без выделения его в процедуру". Там есть выделение кода в процедуру, что ничем не отличается от обычного потока: ![]() ![]() TFunc = procedure; TThread = class(TThread) protected FFunc: TFunc; procedure Execute; public constructor Create(Func: TFunc); end; ... procedure TThread.Execute; begin Func; end; procedure TForm1.Button1Click(Sender: TObject); procedure T; var I: Integer; Fact: Int64; begin Fact := 0; for I := 1 to 1000000 do begin Inc(Fact, I); Caption := StrToInt(Fact); end; end; begin TThread.Create(@T).Free; end; Единственное, что анонимные функции дают бонус "захват локальных переменных". А так принципиальной разницы нет. Лишнее подтверждение того факта, что с помощью анонимных функций нельзя сделать чего-то, чего нельзя было бы сделать без них ![]() |
Сообщ.
#16
,
|
|
|
Profi
У тебя демок нет? Могу кинуть хоть все демки.(40мб) п.с. Надо пользовать ActionManager. |
![]() |
Сообщ.
#17
,
|
|
Цитата Urich @ Profi У тебя демок нет? Могу кинуть хоть все демки.(40мб) п.с. Надо пользовать ActionManager. Да это-то ясно, но все равно в слепую тыкать не хочется. Кидать ничего не надо, скоро скачаю полную версию. |
![]() |
Сообщ.
#18
,
|
|
Чтож, до всего что есть в демке я и сам дошел, я-то думал там реально как на сайте почти Office 2007. Плюс глючит TRibbonQuickAccessToolbar, видимо придеться в исходниках копаться.
|
Сообщ.
#19
,
|
|
|
В составе Architect версии поставляется продукт Embarcadero ER/Studio. Версия для разработчиков.
Несмотря на то, что полная ER/Studio лицензируется с привязкой к железу, версия в поставе Delphi будет привязана к лицензии Delphi, то есть, к разработчику. В версии для разработчика имеются следующие ограничения: 1) не доступен Meta Wizard (экпорт/импорт в разные системы) 2) Репозиторий недоступен схем данных. Но - файлы со схемами данных совместимы по формату с остальными версиями ER/Studio 3) Невозможно будет создать отчеты HTML/PDF 4) Только следующие СУБД поддерживаются: * Oracle * SQL Server * DB2 LUW * Interbase * MySQL * Informix * Sybase ASA * Sybase ASE * ODBC / ANSI SQL Интересное видео с представлением ER/Studio. Требует последних версий AdobeFlash. |
Сообщ.
#20
,
|
|
|
Не могу не указать великолепный пример функционального программирования, на Delphi: An Enumeration of Prime Numbers with Anonymous Methods.
Простой бесконечный список простых чисел. ![]() ![]() |
Сообщ.
#21
,
|
|
|
Выложили триал Delphi 2009: cc.codegear.com/Free.aspx?id=25876
Сообщения были разделены в тему "IdHTTP" |
Сообщ.
#22
,
|
|
|
Сама IDE как, стабильна? Или опять ломает навигацию по юниту/проекту или грохается с Out of Memory?
Щупал D2005, ежедневно юзаю D2006, щупал RAD-2007. Апдейты и патчи не помогают. Ощущение одно и то же: "а вы, друзья, как ни садитесь..." (с) Крылов |
![]() |
Сообщ.
#23
,
|
|
Mr.Delphist не сильно пользоваля ею, но как вываливались AV так и вываливаются. первыйже AV вывалился когда я рибон пробовал.
|
Сообщ.
#24
,
|
|
|
Выложены iso-образы Delphi and C++Builder 2009 Trial with ISO download
Добавлено Размер, как написано, 1.9 Gb |
![]() |
Сообщ.
#25
,
|
|
интересный прикол все с темже рибоном.
создаем новый проэкт. бросаем на него рибон. меняем свойство Ribbon1.QuickAccessToolbar.Position := qpBottom тутже в дизайн тайме можно наблюдать глюк отрисовке формы в низу рибона. ну а теперь запускаем и смотрим на результат. Добавлено пс. на ХР и Висте глюк проявляется по разному Добавлено если свернуть и развернуть рибон то глюк исчезает Добавлено глюк №2 бросаем рибон. у формы делаем свойство AutoScroll := True; бросаем любой компонент ближе к правому краю. даже можно положить так чтобы сразу в дизайн тайме появился скрул (но это не обязательно) запускаем. и чтоже мы наблюдаем при ресайзе. во превых если контрол ушол за пределы формы то мало того что не появляется скрол так еще и у рибона системные кнопки перестают двигатся, после условного появления скрола (скрол должен появлятся когда компонент узодит за край формы) Добавлено дополнение к глюку №2. проявляется только в висте при параметр form1.AutoScroll := True; при старте рибон не коректно отрисовывается (если быть точнее то не правильно размещаются панелей). в правой стороне формы можно наблюдать пропуск. при ресайзе он исчезает ![]() |
Сообщ.
#26
,
|
|
|
Нееее...Ribbon настолько сырой и глюкавый
![]() ![]() ![]() ![]() P.S. все так плохо на ХР... |
![]() |
Сообщ.
#27
,
|
|
Megatron, на Vist'е теже глюки, дело именно в самом Ribbon'е.
|
Сообщ.
#28
,
|
|
|
А есть какие-нибудь намёки на 64-разрядный компилятор? Или хотя бы в планах?
|
![]() |
Сообщ.
#29
,
|
|
и вот мне еще такой вопросик интересует. зачем они создали компоненты вкладки Vista Dialogs?
веть если взять стандартный OpenDialog с вкладки Dialogs и FileOpenDialog с вкладки Vista Dialogs то в XP второй не запустится а в Viste они будут выглядеть идентично. так какой смысл создавать еще один такоже компонент? ну настроек зделали побольше. ну так усовершенствовалибы стандартный и не морочили бы людям голову. |
Сообщ.
#30
,
|
|
|
Цитата ViktorXP @ ну так усовершенствовалибы стандартный ...есть такое хорошее слово: совместимость... |
Сообщ.
#31
,
|
|
|
Цитата StarikPro @ через год или пару обещають вроде.. посмотри их roadmap. намёки на 64-разрядный |
Сообщ.
#32
,
|
|
|
Цитата Erazer @ через год или пару обещають вроде.. Через год или два меня растопчат конкуренты работающие в среде VC если я сейчас не начну компилить х86 приложения... ![]() ![]() |
Сообщ.
#33
,
|
|
|
переходи на FreePascal/Lazarus ес язык програмирования не хо менять
![]() |
Сообщ.
#34
,
|
|
|
Цитата StarikPro @ Через год или два меня растопчат конкуренты работающие в среде VC если я сейчас не начну компилить х86 приложения... а причем тогда 64-х битный компилятор? ![]() Цитата Megatron @ Нееее...Ribbon настолько сырой и глюкавый Они что, проверить не могли? ![]() Добавлено Совсем забыл ... Шаблоны в Дельфи - это круто! Поверить не могу ![]() |
Сообщ.
#35
,
|
|
|
Сообщ.
#36
,
|
|
|
![]() ![]() type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public function foo<T>(a: T): T; end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage(foo<String>('Hello, World!')); Close; end; function TForm1.foo<T>(a: T): T; begin result := a; end; end. Кто может дать пример покруче? У меня закончилась фантазия, а хочется увидеть всю предпологаемую мощь ![]() Кстати, шаблоны в Дельфи имеют туже фукциональсть что и в С++? |
Сообщ.
#37
,
|
|
|
Цитата StarikPro @ х86 ошибочка вышла |
![]() |
Сообщ.
#38
,
|
|
по просбе трудящихся. те кто намерится работать с рибоном должен помнить о таких константах которые вшиты намертво в него
![]() ![]() TCustomRibbon = class(TCustomControl) public const cRibbonHideWidth = 300; // the parent width at which the Ribbon must automatically hide cRibbonHideHeight = 250; // the parent height at which the Ribbon must automatically hide cRibbonQuickAccessToolbarTop = 5; // top position of the quick access toolbar cRibbonQuickAccessToolbarLeft = 34; // left position of the quick access toolbar cRibbonHeight = 117; // default height of the ribbon cRibbonQATHeight = 26; // height of the bottom aligned QAT bar cRibbonUnthemedCaptionHeight = 30; // the height of the caption section of the ribbon cRibbonFirstTabOffSet = 47; // the position of the first tab that is displayed cRibbonTabSpacing = 6; // amount of spacing between tabs cRibbonTabHeight = 23; // the height of the tabs cRibbonMinimizedHeight = 27; // minimized height of the ribbon cRibbonTabScrollButtonWidth = 12; // width of the scroll button cRibbonGroupCaptionHeight = 16; // height of the ribbon group caption cRibbonGroupHeight = 86; // height of the ribbon group cRibbonPageHeight = 93; // height of the ribbon page cRibbonMinimumCaptionWidth = 50; // The minimum width the caption must be UM_DISPLAYKEYTIPS = WM_USER + 1; // Message sent to display the KeyTips UM_CHECKSIZE = WM_USER + 2; // Message sent after a WMWindowPosChanged message вот те две верхние например отвечают за сворачивание рибона. только как по мне то я бы зделал птичку (сворачивать или нет) |
![]() |
Сообщ.
#39
,
|
|
Цитата Monty @ Кстати, шаблоны в Дельфи имеют туже фукциональсть что и в С++? нет. Скорее они похожи на дженерики в .NET'е. Цитата Monty @ Кто может дать пример покруче? http://barrkel.blogspot.com/2008/09/smart-pointers-in-delphi.html Ну и дальше по блогу покопайся... |
Сообщ.
#40
,
|
|
|
Цитата Erazer @ через год или пару обещають вроде.. посмотри их roadmap. По последнему опубликованному roadmapу х64 будет в "Commandore", т.е. в следующей версии. Когда она реально выйдет неясно из-за того что акулу выпустили с серьезной задержкой. |
Сообщ.
#41
,
|
|
|
Добрый день всем.
Когда узнал, что выходит Delphi 2009 очень захотел его пощупать. Друзья скачали и вот я начинаю установку. Извините, если где-то что-то не так напишу, но очень хочется поделится впечатлениями. Установка прошла без всяких проблем. По времени установка заняла 20 минут. Честно говоря, я точно не засекал, взял примерно, т.е. плюс/минус. Установил себе Delphi и Delphi for .NET. Запуск среды произошел довольно быстро, чем был приятно удивлен, так как ожидал большего времени загрузки. Конечно, давно не секрет, что интерфейс среды многим напоминает VS 2005. Так как я работал на C#, то дискомфорта, от интерфейса не почувствовал, даже понравилось. Как ни как, что-то новое. Сразу же полез создавать приложение подобное Office 2007 (не по функционалу, конечно ![]() Так же подтвержу факт, что диалоговые окна из панели Vista Dialogs не работают под Windows XP. Очень так же было интересно, какой же размер имеет скомпилированный Delphi 2009 exe-файл. Так вот exe-файл, который содержал обычную форму с одной кнопкой, событие которой вызывает OpenDialog, был скомпилирован размером почти в 538 Кб. Правда убрав некоторые Runtime пакеты, которые включаются в компиляцию, то размер exe-файла удалось уменьшить до 22 с копейками Кб. Работа среды приятно удивила, даже очень приятно удивила - очень быстро работала. Не было времени на то, чтоб поспать пока произойдет то или иное действие. А так же хочу заметить, что никаких AV, про которые я читал на форумах, у меня не появлялось. Компилятор отрабатывал также быстро как и работала среда. Правда, что там компилировать из одной формы и кнопки. Может когда, прийдеться компилировать большой проект, состоящий из несколько десятков, то и сотен форм, будет заметна потеря времени на компиляцию. Но это уже покажет время. Немного о переходе из более младших версий. Напишу только за переход из Delphi 7 на Delphi 2009. Так вот, у меня имеется проект, который заказала, одна контора. Проект состоит, примерно, из 30 форм. Открыв его с помощью Delphi 2009 и скомпилирован, получил ошибки, на компоненты, которые не были установлены. Повозившись с заменной, этих компонентов (не один денек конечно!), проект скомпилирован был без всяких усилий. Вот так вот кратенько я описал Вам мои впечатления. P.S.: я душой и умом с Delphi, но попробовав Delphi for .NET, огорчился, так как в этой сфере C# от VS мне понравился больше. Я аообще не смог запустить А вообще после такого падения Delphi, когда главой был Borland, на сегодняшний момент CodeGear проделала большущую работу. Так что, господа хорошие, давайте наберемся терпения и будем ждать, потому что как поет Павел "Снежок" Воля - "... ВСЕ БУДЕТ ОХР...НО, ВЕДЬ НАС ЖДУТ БОЛЬШИЕ ПЕРЕМЕНЫ ..." (прошу прощения за выражения, но как говорится, из песни слов не выкинешь! ![]() Прошу прощения за ошибки! Дописываю: оказалось, что одну ошибку я всетаки увидел, возникала она при открытии проекта.: "List indexout of bounds (-1)". Это сообщение было перенесено сюда или объединено из темы "Delphi 2009" |
Сообщ.
#42
,
|
|
|
Цитата Так вот exe-файл, который содержал обычную форму с одной кнопкой, событие которой вызывает OpenDialog, был скомпилирован размером почти в 1,5 Мб а чего так мало? ![]() Это сообщение было перенесено сюда или объединено из темы "Delphi 2009" |
Сообщ.
#43
,
|
|
|
-Added
Цитата antonn @ а чего так мало? ![]() Извините, я исправил свое сообщение. Это я TRibbon использовал, а потом удалив его, решил узнать сколько же весит обычная форма. Из-за этого и вышел такой размер, если же все с нуля сделать, т.е. форму с кнопкой, то получился результат, который я описал в сообщении. Это сообщение было перенесено сюда или объединено из темы "Delphi 2009" |
Сообщ.
#44
,
|
|
|
Цитата MayorSheFF @ размер exe-файла удалось уменьшить до 22 с копейками Кб а теперь плюс туда те рунтайм пакеты, которых нет в чистой установке виндовс. Размерчик будет огого - 3Мб как минимум ![]() Добавлено Если так важен размер, а чисто на винапях писать лень, то delphi7+kol/mck в помощь! Это сообщение было перенесено сюда или объединено из темы "Delphi 2009" |
![]() |
Сообщ.
#45
,
|
|
Monty, совсем скоро можно будет кол_мск и в 09 юзать
![]() Это сообщение было перенесено сюда или объединено из темы "Delphi 2009" |
Сообщ.
#46
,
|
|
|
Это радует. Откуда сама новость?
Это сообщение было перенесено сюда или объединено из темы "Delphi 2009" |
Сообщ.
#47
,
|
|
|
Парни, Вы мне обьясните пожалуйста.
Я установил CodeGear RAD 2009, с ней же было установлено Delphi for .NET. Запустил попробовал, вроде ничего. Но вот вопрос, а как использовать компоненты, которые находятся в библиотеках .NET? Например: MenuStrip, ToolStrip и т.д. Новичок я в этом деле! ![]() Это сообщение было перенесено сюда или объединено из темы "Delphi 2009" |
![]() |
Сообщ.
#48
,
|
|
Monty, [оффтоп] занят именно этим сейчас, ну и не я один
![]() Это сообщение было перенесено сюда или объединено из темы "Delphi 2009" |
Сообщ.
#49
,
|
|
|
Цитата D[u]fa @ занят именно этим сейчас, ну и не я один ![]() Ясно. Значит и я тоже с Вами. ![]() Это сообщение было перенесено сюда или объединено из темы "Delphi 2009" |
Сообщ.
#50
,
|
|
|
Я тоже 2009 поставил (после 2007). Скомпилировал старые проекты. Размер экзешника всреднем увеличивался на 100 кб. Один из проектов почему-то не компилируется (среда во время компиляции бесконечно зависает).
А так работает быстро, стабильно. Установка прошла тоже очень быстро. Посмотрел код VCL: новые классы там написаны уже не таким хорошим кодом, как раньше, но не критично. Это сообщение было перенесено сюда или объединено из темы "Delphi 2009" |
Сообщ.
#51
,
|
|
|
Цитата Grisha @ Я тоже 2009 поставил (после 2007). Скомпилировал старые проекты. Размер экзешника всреднем увеличивался на 100 кб. Один из проектов почему-то не компилируется (среда во время компиляции бесконечно зависает). Это неизбежно из-за юникода. Считай все строки в программе, RTTI имена классов, published свойств компонентов и т.д. удвоились. Все свои переменные string стали длинее. Компилятор врядли стал хуже, даже наоборот. Это сообщение было перенесено сюда или объединено из темы "Delphi 2009" |
Сообщ.
#52
,
|
|
|
Вообщем посидев немного с этим Ribbon'ом все таки смог добиться чего-то похожего как в Office 2007, уже начал сомневаться, но нашел то что надо чтобы привести все в нормальный вид...
Для начала кинул на форму Ribbon. Потом Add Tab на собственно самом Ribbon'е -> получил RibbonPage1. Потом на RibbonPage1 создал RibbonGroup1. В свойствах RibbonGroup1 параметр Rows выставил равным 1. Потом на форму кинул ImageList с размерами Height и Width равными 32. Далее ActionManager в котором создал пару итемов. Вообщем этот ActionManager связал с ImageList и созданым итемам прилепил картинки. Да кстати картинки\иконки размер их тоже 32х32. Потом перетащил итемку на RibbonGroup1 получил ... эммм ... нечто пародии на толи кнопку или вообщем бред... Но все таки это исправимо... Вообщем выделил я только что брошенную на RibbonGroup1 кнопочку и в ее свойствах CommandProperties->ButtonSize выставил bsLarge ... и вот оно, уже что-то похожее... P.S. вот собственно хотел поделиться, а то сам совсем огорчился когда только пробовал, думал что вообще бред полный, но всеже хоть какого то результата можно добиться ![]() |
![]() |
|
|
Более подробное описание нововведений - это то, что я давно хотел почитать.
Цитата Привожу здесь полный (условно полный, некоторые из пунктов можно расширять до бесконечности) список доступных уточнений в виде параметров одного класса, с комментариями: ![]() ![]() type TConstrainedGeneric< T; // Без ограничений U: class; // Классовый тип V: constructor; // Тип, имеющий конструктор W: record; // Тип-запись X: TFoo; // Наследник данного класса или сам он Y: class, IMyInterface; // Класс, обязательно реализующий данный интерфейс Z: IGenericInterface<T> // Обобщённый интерфейс, зависящий от того же типа, который в TConstrainedGeneric выступает первым > = class end; Это я тоже хотел давно узнать, а то шаблоны были не контролируемым. |
Сообщ.
#54
,
|
|
|
Хелп как в новой студии? В 2007 г...о.
Вообще кроме юникода что можно сказать хорошего? Сама среда в плане производительности (много компонент на форме), редактор кода, скорости компиляции? Старые проекты нормально переносятся, компоненты нормально интегрируются? |
![]() |
Сообщ.
#55
,
|
|
Цитата Adalon @ какой на вид такой и остался. насчет работы то явно чтото подправили. ибо если поставить две версии то из 2007 идет ругань насчет F1Хелп как в новой студии? Цитата Adalon @ Работает быстрее. с большим проэктом пробовал то компилится гдето в двое быстрее.Сама среда в плане производительности (много компонент на форме), редактор кода, скорости компиляции? Цитата Adalon @ Старые проекты нормально переносятся, компоненты нормально интегрируются? компилятся нормально после дня исправления ошибок. а вот компонентов именно под эту версию пока нет. ![]() Но я думаю насчет компонентов скоро проблема решится (может быть). |
Сообщ.
#56
,
|
|
|
Вроде как Update 1 вышел. Информация еще не проверена, но ссылка есть. Может кто-то проверит?
![]() |
![]() |
Сообщ.
#57
,
|
|
Цитата Smike @ TImageList поддерживает любые форматы изображений, зарегистрированные в Delphi, в том числе PNG. Сегодня пробовал как оно грузит png. если чесно то все что они зделали можно смело выбросить в унитаз. ни какой полноценной поддержки. оно просто переделывает с png/gif/jpg/и тд. в bmp А жаль ![]() |
Сообщ.
#58
,
|
|
|
Привет всем!
Парни, кто-то разобрался как подключить .NET компоненты в Delphi, т.е. те компоненты, которые есть в VS 2005 или VS 2008? Это сообщение было перенесено сюда или объединено из темы "Delphi 2009" |
Сообщ.
#59
,
|
|
|
Цитата MayorSheFF @ Парни, кто-то разобрался как подключить .NET компоненты в Delphi, т.е. те компоненты, которые есть в VS 2005 или VS 2008? Delphi 2009 - это для win32. Это сообщение было перенесено сюда или объединено из темы "Delphi 2009" |
Сообщ.
#60
,
|
|
|
Прошу прощения за неточность.
Парни, кто-то разобрался как подключить .NET компоненты в Delphi for .NET, т.е. те компоненты, которые есть в VS 2005 или VS 2008? И еще вопросик. Кто-то уже создавал действующий проект в Delphi for .NET с помощью ASP.NET. Если да, то какая оценка этому всему? Если можно дайте ссылку посмотреть. Это сообщение было перенесено сюда или объединено из темы "Delphi 2009" |
Сообщ.
#61
,
|
|
|
В Тибуроне Delphi for .NET вроде нету. Его в пиратские дистрибутивы умельцы запихивают:)
Никто не знает собираются ли КотыЖиры тянуть .NET в последующий версиях? (в 2007 он есть ведь), или решили отказаться от этой затеи, так как за Майрософтом с ихними фреймворками не угонишся (мое ИМХО)? Это сообщение было перенесено сюда или объединено из темы "Delphi 2009" |
Сообщ.
#62
,
|
|
|
Лучше б подтягивали, хоть, на версию позже от той, что выпускают MS. А то объяснять пользователю почему нельзя сделать интерфейс как у Office 2003 нет желания. А за сторонние компоненты, для интерфейса платить компания не хочет. Переходить полностью на C# врядли кто будет. Уж много компонентов написано под Delphi. Да и проект слишком большой, чтоб все переписывать заново.
![]() P.S.: Все будет ОХР....НО! ![]() Это сообщение было перенесено сюда или объединено из темы "Delphi 2009" |
![]() |
|
|
Такая вот интересная проблема, сейчас переношу свой проект на 2009 делфи и вот такая ошибка.
В 2007 такой код компилировался вообще без проблем: ![]() ![]() DecryptTable:= (Integer(Header.Signature) <> IMGv3dSignature); А в 2009 не хочет с такой ошибкой: Цитата [DCC Error] ***.pas(73): E2089 Invalid typecast Как-то это странно все. Плюс еще, когда тестировал 2009 делфи в некоторых местах тоже этот "Invalid typecast" был в местах когда его принципе не должен быть. Вроде ничего про изменения в проведении типов не было сказано, или я что-то пропустил? У кого-нибудь были подобные проблемы? Это сообщение было перенесено сюда или объединено из темы "Delphi 2009" |
Сообщ.
#64
,
|
|
|
Самоё клёвое в новой версии - это то, что можно обозначать переменные и имена функций на русском языке)
Это сообщение было перенесено сюда или объединено из темы "Delphi 2009" |
Сообщ.
#65
,
|
|
|
Цитата Алексей @ Самоё клёвое в новой версии - это то, что можно обозначать переменные и имена функций на русском языке) а это накой надо? шоб впаги не разобрались? ![]() ![]() ![]() Это сообщение было перенесено сюда или объединено из темы "Delphi 2009" |
![]() |
Сообщ.
#66
,
|
|
Цитата vladimir74 @ это накой надо? если пишешь программу, в которой очень много научных или технических терминов - то надо. Это сообщение было перенесено сюда или объединено из темы "Delphi 2009" |
Сообщ.
#67
,
|
|
|
Бывает не то, что имена переменных, комментарии на русском писать нельзя
![]() Добавлено Цитата если пишешь программу, в которой очень много научных или технических терминов - то надо. Лучше поставить Лингву. Это сообщение было перенесено сюда или объединено из темы "Delphi 2009" |
![]() |
Сообщ.
#68
,
|
|
Цитата i++ @ Лучше поставить Лингву. ты писал такие программы? |
Сообщ.
#69
,
|
|
|
Цитата jack128 @ если пишешь программу, в которой очень много научных или технических терминов - то надо. Ух помнится ломал голову, как назвать классы, которые являются элементами схемы для энергетиков: "Устройство продольной компенсации", "Батарея статических конденсаторов", "Токоограничивающий реактор" ![]() ![]() |
Сообщ.
#70
,
|
|
|
Цитата ты писал такие программы? Какую бы программу я не писал, если затрудняюсь обозвать переменную лезу именно туда. А там где я последний раз писал, таски, документация и соответственно комментарии в коде только на английском. |
![]() |
Сообщ.
#71
,
|
|
Цитата --Ins-- @ как назвать классы, которые являются элементами схемы для энергетиков хе. Тем же самым занимался. Мне была выдана табличка с типами устройств и их параметрами на сотню листов.. Переводил бы я это пару месяцев точно. И потом бы не смог прочитать что я написал ![]() |
![]() |
Сообщ.
#72
,
|
|
руские переменные это зло.
тут один раз у человека были проблемы (с этого форума) так проблема была вся в том что он использовал казалось бы одну и туже переменную но на самом деле разные просто поставил "y" (eng) и "у" (рус) и мучался с ими. |
Сообщ.
#73
,
|
|
|
Видимо такая проблема с типами есть только у меня?
странно... |
![]() |
Сообщ.
#74
,
|
|
Цитата ViktorXP @ ут один раз у человека были проблемы (с этого форума) так проблема была вся в том что он использовал казалось бы одну и туже переменную но на самом деле разные просто поставил "y" (eng) и "у" (рус) и мучался с ими. На этом форуме( по крайней мере в разделе дельфи) у людей проблемы потому что они не умеют читать (справку) и писать (запросы в поисковики) , а вовсе не потому что дельфи воспринимает Unicode идентификаторы. |
Сообщ.
#75
,
|
|
|
Цитата i++ @ Бывает не то, что имена переменных, комментарии на русском писать нельзя ![]() вот это уже не по людски, согласен Цитата jack128 @ если пишешь программу, в которой очень много научных или технических терминов - то надо. Цитата jack128 @ ты писал такие программы? нет, но с детства меня учили писать программы со словарем ![]() Хотя тут некоторые фирмы используют немецкий, и не жужат (хотя им легче - у них латиница...) Цитата jack128 @ На этом форуме( по крайней мере в разделе дельфи) у людей проблемы потому что они не умеют читать (справку) и писать (запросы в поисковики) , а вовсе не потому что дельфи воспринимает Unicode идентификаторы. вот так вот взял и опустил весь форум (по крайней мере раздел дельфи)... |
Сообщ.
#76
,
|
|
|
Поставил Update (12.0.3210.17555.2). Вроде Риббон перестал глючить, но я им не пользуюсь вообще ...
|
![]() |
Сообщ.
#77
,
|
|
Запускаем дельфи 2009, создает новый vcl проэкт и описываем такое событие OnCreate
![]() ![]() [MyAttribute] procedure TForm3.FormCreate(Sender: TObject); begin // end; и оно компилируется!!!! Правда при компиляции такой варнинг вылазит: Цитата [DCC Warning] Unit3.pas(25): W1025 Unsupported language feature: 'custom attribute' Неужели кастом атрибуты скоро появятся и в Win32 версии дельфи ??? |
![]() |
Сообщ.
#78
,
|
|
Цитата jack128 @ Неужели кастом атрибуты скоро появятся и в Win32 версии дельфи ??? Хм, а смысл? |
![]() |
Сообщ.
#79
,
|
|
Цитата Profi @ Хм, а смысл? задай этот вопрос в форуме .NET, они в подробностях объяснят ;-) |
Сообщ.
#80
,
|
|
|
Цитата jack128 @ Неужели кастом атрибуты скоро появятся и в Win32 версии дельфи ??? Было бы хорошо. ИМХО RTTI в Дельфи неплохо бы подтянуть, хотя бы по примеру .NET. А может это просто фича компилятора? Он при попытке в Win32 версии использовать .NET-примочки порой ведет себя странно. Скажем, попробуй в класс хэлпере описать виртуальные методы (можно в .NET, нельзя в Win32). Забавное сообщение об ошибке появится ![]() |
![]() |
Сообщ.
#81
,
|
|
Цитата jack128 @ задай этот вопрос в форуме .NET, они в подробностях объяснят ;-) Для чего custom attribute нужен в .Net'е - я знаю, для Win32 если только действительно как --Ins-- сказал - для RTTI. Но по мне - это все совершенно лишнее шаманство (хотя иногда из-за кривого конструирования и приходиться к ниму прибегать). |
![]() |
Сообщ.
#82
,
|
|
Цитата --Ins-- @ Забавное сообщение об ошибке появится угу, я видел это сообщение.. Мона обратить внимание на некий класс System.TClassHelperBase ... Цитата --Ins-- @ можно в .NET, нельзя в Win32 это очень странно. Я так понимаю, .NET- хелперы реализуют что то типа partial classes в C#. Но по идее - это фишка языка, а не среды исполнения, так что коли для нет код жиры такое реализовали, то могли бы и Win32 вообще без проблем сделать... Хотя хз, может я и ошибаюсь.. Добавлено Цитата Profi @ это все совершенно лишнее шаманство а по мне - если это повышает читабельность кода и уменьшает его (кода) количество - это must have. Добавлено кста, а published - это ненужное шаманство??? |
Сообщ.
#83
,
|
|
|
Цитата jack128 @ так что коли для нет код жиры такое реализовали, то могли бы и Win32 вообще без проблем сделать... Очень тяжело такое реализовать в Win32 версии языка. Я здесь пытался привести свои мысли по поводу "почему тяжело": Изменение стандартного TControl |
![]() |
Сообщ.
#84
,
|
|
Цитата --Ins-- @ Очень тяжело такое реализовать в Win32 версии языка. Ну в .NET'е же сделали???? Или там - двухпроходная компиляция??? |
Сообщ.
#85
,
|
|
|
Цитата Profi @ Но по мне - это все совершенно лишнее шаманство (хотя иногда из-за кривого конструирования и приходиться к ниму прибегать). Эх, не соглашусь я с тобой. Мощная поддержка информацией о типах в рантайм открывает широчайшие возможности ![]() Добавлено Цитата jack128 @ Или там - двухпроходная компиляция??? Ну, там все-таки управляемый код, это совсем другое дело. Хотя я не знаю формат dcu для Win32, может если сделать его достаточно умным, то можно было бы и заложить туда возможность "распределения" кода класса по юнитам, который полностью собирался бы уже при линковке. Но скорее всего это потребовало бы круто изменить сам компилятор, что все-таки достаточно трудоемко. |
![]() |
Сообщ.
#86
,
|
|
Цитата --Ins-- @ Ну, там все-таки управляемый код, это совсем другое дело Честно говоря -я не вижу, чем это помогает... |
Сообщ.
#87
,
|
|
|
Цитата jack128 @ Честно говоря -я не вижу, чем это помогает... Я тебе не могу достоверно ответить на этот вопрос, не разбирался как работают виртуальные методы в хелперах. Но предполагаю, что в .NET окончательный код класса формирует среда выполнения, исходя из имеющихся метаданных и IL-кода. Задача же компилятора просто эти данные предоставить. В неуправляемом же коде Delphi Win32 код класса формируется в момент компиляции юнита с классом, и после этого момента уже ничто не сможет на него повлиять. |
Сообщ.
#88
,
|
|
|
А у меня тут трабла с Rave Reports 7.6... Не хотят отчеты наотрез (вываливается по AV) ни создаваться в MS Vista, ни работать... В XP работает, а в Висте ругается на rtl120.bpl. Кто-нибудь знает как проблему решить?
|
Сообщ.
#89
,
|
|
|
Цитата =SAPSAN= @ А у меня тут трабла с Rave Reports 7.6... Не хотят отчеты наотрез (вываливается по AV) ни создаваться в MS Vista, ни работать... В XP работает, а в Висте ругается на rtl120.bpl. У меня такая же ошибка при работе с Rubinom. Цитата =SAPSAN= @ Кто-нибудь знает как проблему решить? Думаю проблема будет решена только с выходом сп3. |
Сообщ.
#90
,
|
|
|
Народ подскажите пожалуйста как в 2009 организовать dcom соединение, может у меня delphi не полный т.к. вкладка multilayer отсутствует?
Или вообще как организовать любое 3-х уровневое midas приложение в 2009! |
Сообщ.
#91
,
|
|
|
Там DataSnap изменен. Теперь midas не базируется на COM, а только на собственных библиотеках.
Обратная совместимость осталась, конечно. Вот: Getting Started with Delphi DataSnap 2009 А здесь pdf от Марко Кэнту с пошаговой инструкцией: The New DataSnap in Delphi 2009 http://edn.embarcadero.com/delphi/distcomp/datasnap Сам я еще не пробовал, увы. |
Сообщ.
#92
,
|
|
|
Поставил D2009 на Windows7, 2 часа помучился - вынес нафих.
|
Сообщ.
#93
,
|
|
|
Переустановил с правильными именами пользователя и компании - вроде начал нормально работать.
|
Сообщ.
#95
,
|
|
|
ghostonline, насколько давно?
![]() |
![]() |
Сообщ.
#96
,
|
|
насколько я понял то с 2010 версии. когда писалось то сообщение то такого еще не было.
пс. я о этом упоминал в новостях. на семинаре увидел. |
Сообщ.
#97
,
|
|
|
ViktorXP, да я то знаю, но хотелось бы чтобы ghostonline ответил
![]() |
Сообщ.
#98
,
|
|
|
Моя логика проста - я не помню упоминания о конструкторах класса ни в списке нововведений 2009, ни 2010. Следовательно появилось как максимум в 2007.
Ну сейчас еще поищу инфу |
Сообщ.
#99
,
|
|
|
ghostonline, поищи, обрати внимание, что в блоге речь идет о Win32, а не о .NET
|
Сообщ.
#100
,
|
|
|
В этом блоге?
Так-то да, выходит что в 2010 версии появились. Хм, странно что об этом не кричали как о например Exit(Val) ведь это новвоведение важнее %) ЗЫ Пардон ![]() |
![]() |
Сообщ.
#101
,
|
|
На семинарах об этом упоминается. Просто это не столько критично и очень мало ситуаций где это реально нужно.
А вот Exit() нужен был реально. ибо это на сокращает код на три строчки (а в некоторых ситуациях и больше) |
Сообщ.
#102
,
|
|
|
По мне так оба нововведения не очень то и важные, но могут быть полезными в определенных ситуациях
![]() |
Сообщ.
#103
,
|
|
|
Цитата ViktorXP @ А вот Exit() нужен был реально. ибо это на сокращает код на три строчки (а в некоторых ситуациях и больше) Exit настораживает. Как-то не по-паскалевски. Еще введут форму Exit(a,b,c) вот тогда намаемся ![]() |
![]() |
Сообщ.
#104
,
|
|
Почему? при таком указании ругается
![]() ![]() [DCC Error] Unit4.pas(27): E2066 Missing operator or semicolon |
Сообщ.
#105
,
|
|
|
Цитата ViktorXP @ Почему? при таком указании ругается Вот именно. Еще не хватало сишных заморочек ![]() |
Сообщ.
#106
,
|
|
|
Exit - полезно, а class constructors - необходимо (smart-linking с выносом логики из initialization).
Ещё можно почитать про плюшки в Delphi Prism и облизываться. Хачуууу... ![]() |
Сообщ.
#107
,
|
|
|
Даа, сказка я не язык. Синтаксис простой(как и у всех наследников паскаля), возможностей много, все преимущества дотнета |
Сообщ.
#108
,
|
|
|
Цитата ghostonline @ Даа, сказка я не язык. Сказка-то сказка, но в рейтинге tiobe языка даже нет в 50-тке ![]() |
![]() |
|
|
IMHO: Призм лишь НАПОМИНАЕТ Дельфи. Скажем Delphi.net и Prism разные языки, хотя и есть что то общее. При совершенно умалишенных ценах на Prism я выбираю C#. По очевидным причинам - если учить новый язык то лучше учить тот который популярен. Нет я тут не затеваю holywar - просто сами сравните количество jobs со знанием C# и практически нулевое количество с Призм.
Опять же все умозрительно и ИМХО.... По призму книжка есть толковая - http://www.ebob42.com/training/Prism.pdf от товарища Роберта Сварта Добавлено http://stackoverflow.com/questions/242584/...se-delphi-prism Тут еще пишут всякое....по английски |
Сообщ.
#110
,
|
|
|
Да ну, сделали что-то универсальное. Delphi изначально простой язык, зачем усложнять-то? Мне уже 2010 хватает до всего, многое не знаю куда применить. Delphi 7 - использовал все свойства языка, на полную, а тут куча всего, хочешь - так делай, хочешь - по-другому. Превратили простой язык в сложный. Это все влияние дотнета конечно, но не до такой же степени на поводу идти!
|
Сообщ.
#111
,
|
|
|
Exit(Val)
А это ещё за зверь? |
Сообщ.
#112
,
|
|
|
Цитата Romkin @ Превратили простой язык в сложный. Это все влияние дотнета конечно, но не до такой же степени на поводу идти! Это влияние маркетинга Кстати это очень плохо, раньше если не помнил название, то его легко было найти в справке, а сейчас это уже проблематично, а что же дальше будет, сколько еще ламерских фунций напридумывают. Очередных бубенчиков и колокольчиков. |
Сообщ.
#113
,
|
|
|
northener, = ( Result := Val; Exit; ), очень полезная фишка.
Цитата Anatoly Podgoretsky @ Кстати это очень плохо, раньше если не помнил название, то его легко было найти в справке, а сейчас это уже проблематично, а что же дальше будет, сколько еще ламерских фунций напридумывают. Очередных бубенчиков и колокольчиков. Хм, например? По-моему, функций немного добавляют, основная куча была в 2009 с Юникодом. |
![]() |
Сообщ.
#114
,
|
|
--Ins--
кстати, если class constructor действительно для smart-linking реализовали - то твой пример с RegisterClassAlias может идти лесом ;-) |
Сообщ.
#115
,
|
|
|
Цитата jack128 @ кстати, если class constructor действительно для smart-linking реализовали - то твой пример с RegisterClassAlias может идти лесом ;-) Что такое смарт-линкинг? ![]() |
![]() |
Сообщ.
#116
,
|
|
Ну в данном контексте, смысл такой:
Есть у тя класс TMyObject1 в модуле Unit1, для корректной работы которого нуно инициализация. Ну типа как для работы TForm/TControl/TScreen.. сейчас ты все это дело пишешь в секции инициализации, юзаешь в ней тучу левых классов (TMyObject2, TMyObject3, TMyObject4) и все это борохло линкуется в приложение, стоит те где нить добавить uses Unit1; А на самом деле, когда ты подключал Unit1 - те вообще нуна была только одна мелкая функция MyFunc1 которая никакой инициализации не требует. Так вот: терь ты всю инициализацию должен описывать классовом конструкторе TMyObject1. Соответственно если ты нигде в приложении не юзал TMyObjetc1, то его код не попадет в exe? азначит туда не попадет код TMyObject2, TMyObject3, TMyObject4 и тд.. Такая вот умная линковка Добавлено Кстати, а чем Prism лудше C# ? |
Сообщ.
#117
,
|
|
|
Цитата jack128 @ кстати, если class constructor действительно для smart-linking реализовали - то твой пример с RegisterClassAlias может идти лесом ;-) Я знаю, он и идет лесом ![]() |
Сообщ.
#118
,
|
|
|
Цитата Fr0sT @ northener, = ( Result := Val; Exit; ), очень полезная фишка. С точки зрения работодателя - очень полезная фишка! ![]() |
Сообщ.
#119
,
|
|
|
Всех приветствую!!!
Ребят подскажите в чем проблема? На Delphi 2009 решил поставить компоненты Iocomp.Components.v4.02.SP2.Delphi.CBuilder. Пакеты установил, пути к ресурсам прописал, но при компиляции проекта с любым из компонентов iocomp вылазит вот такая ошибка [DCC Error] pngimage.pas(2769): E2064 Left side cannot be assigned to строка в файле следующая Byte(Dest^) := fOwner.GammaTable[pByte(Longint(Src) + 2)^]; inc(Dest); Подскажите пожалуйста, в чем дело, как решить эту проблему? |
Сообщ.
#120
,
|
|
|
Заменить в pngimage.pas все pChar на pAnsiChar
|
Сообщ.
#121
,
|
|
|
Leo спасибо большое!!! Помогло!!! )))))))
|