
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.3] |
![]() |
|
Сообщ.
#1
,
|
|
|
Никто не знает, х64-версию будут продавать независимо от х32? Или по одной лицензии обе пойдут?
Эта тема была разделена из темы "Новости Embarcadero" |
Сообщ.
#2
,
|
|
|
Фига ты спросил
![]() |
Сообщ.
#3
,
|
|
|
Хм. А что, разве есть возможность, что накроется?
|
Сообщ.
#4
,
|
|
|
Цитата Fr0sT @ Хм. А что, разве есть возможность, что накроется? Разве ты не знаешь сколько обещанного ждут? Или Е давало повод верить во все обещания которые они дают? Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#5
,
|
|
Я где то читал что на одном из семинаров была презентована демка сего продукта. А с учетом того что они как то вяло в последнее время работают с багрепортом то возможно заняты новым продуктом (хотя возможно это весна и они заняты совсем не программированием
![]() Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#6
,
|
|
|
Да выйдет она, выйдет (я даже знаю когда, но не скажу
![]() Просто я к тому, что странно задавать такие вопросы, когда продукт официально ещё не объявлен. Цитата joiner @ Или Е давало повод верить во все обещания которые они дают? С каких пор "мы думаем, что x64 стоит ожидать в 2010-м" стало обещанием? Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#7
,
|
|
Если мне не изменяет память то они в прошлом году заявили о отложении выхода 64 в пользу поддержки макоса. посему если и были где то обещания то они автоматически анулировались )
Цитата CodeMonkey @ Просто я к тому, что странно задавать такие вопросы, когда продукт официально ещё не объявлен. согласен. но по всем приметам это все таки будет одна среда. (изменения структуры библиотек, + видел скрин где это было наглядно видно, но не факт что подленный) но я наверно как и многие делфисты жду этого лишь для галочки: "А мы тоже можем собирать x64 приложения". Ибо в текущей работе это не надо. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#8
,
|
|
|
Цитата ViktorXP @ как и многие делфисты жду этого лишь для галочки: "А мы тоже можем собирать x64 приложения" Нет. Не для галочки. Цитата ViktorXP @ Ибо в текущей работе это не надо. Так надо, что в адрес EmbarCadero уже все матерные слова закончились, вот все и помалкивают ![]() Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#9
,
|
|
|
Цитата CodeMonkey @ Да выйдет она, выйдет (я даже знаю когда, но не скажу ). А ну давай колись ! ![]() Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#10
,
|
|
|
Что там колоть? Все наверняка будет традиционно: в мае объявят, к сентябрю выпустят.
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#11
,
|
|
|
Мне в общем-то х64 не нужно совсем, а вот коллега ждет, у него софт очень много памяти требует. Но после х64 Е-ро по идее должны заняться мультиплатформой
![]() Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#12
,
|
|
|
Миленько. Все-таки integer & cardinal - всю дорогу 32bit. То есть, адресную арифметику перекраивать. В принципе понятно: много чего меняется. И увлекашки оптимизацией на ассемблере тоже попали. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#13
,
|
|
|
Отлично! Я уж пересмотрел все свои проекты и компоненты, исправил кучу подозрительных integer <-> pointer мест. Лишним никогда не будет.
Только вот непонятно, в каком виде это будет? На презентации компилировалось прямо в ХЕ, однако не думаю, что они упустят возможность испечь новую версию студии - еще бы, такой прорыв! Опять же, непонятно, будет ли две версии студии (32 и 64), и как они будут лицензироваться. Ведь на 32-й среде не запустишь 64-е приложения. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#14
,
|
|
|
Цитата Fr0sT @ Только вот непонятно, в каком виде это будет? На презентации компилировалось прямо в ХЕ, однако не думаю, что они упустят возможность испечь новую версию студии - еще бы, такой прорыв! Конечно, это будет XE 2. Непонятно, с чего ты взял, что это в XE кто-то собирается добавлять. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#15
,
|
|
|
Цитата Fr0sT @ Я уж пересмотрел все свои проекты и компоненты, исправил кучу подозрительных integer <-> pointer мест. Лишним никогда не будет. Там рекомендуют преобразовывать pointer к PBytes. Несколько неожиданно... Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#16
,
|
|
|
Цитата CodeMonkey @ Конечно, это будет XE 2. Непонятно, с чего ты взял, что это в XE кто-то собирается добавлять. А, они так решили назвать, ХЕ2? Я просто не знал аббревиатуры. Цитата Romkin @ Там рекомендуют преобразовывать pointer к PBytes. Несколько неожиданно... Мда, странно. Возможно, имелся в виду PByte? Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#17
,
|
|
|
Цитата Fr0sT @ Мда, странно. Возможно, имелся в виду PByte? Да, точно, PByte ![]() На 64 битах еще только одно соглашение о вызовах, cdecl и остальное - игнорируется. Поэтому и все библиотеки должны быть 64 бит, однако. Брр. Строки - те же самые, как я понял. То есть строку длиннее 2Gb не напишешь, только динамический массив. Ну и хорошо, а то delete и наращивание длины в цикле на 1 у строки в десяток гигов уже ужасает. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#18
,
|
|
|
Цитата Romkin @ Поэтому и все библиотеки должны быть 64 бит, однако. Брр. Не поэтому. Добавлено P.S. Рекомендую ещё глянуть: http://www.gunsmoker.ru/2010/11/64-windows.html Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#19
,
|
|
|
Цитата CodeMonkey @ Не поэтому. А, так переходников нет. Ну и хорошо, а то и так зоопарк. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#20
,
|
|
|
Выходит, 32-е библиотеки совсем нельзя будет использовать?
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#21
,
|
|
|
![]() |
Сообщ.
#22
,
|
|
Народ, а зачем вам 64 битное приложение??
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#23
,
|
|
Цитата jack128 @ Народ, а зачем вам 64 битное приложение?? Да, вроде как Windows 8 будет только 64-битная. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#24
,
|
|
|
Это не более чем слухи. MS про Windows 8 ещё ничего не сказала.
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#25
,
|
|
Profi ну если они планирую в году 2020ом выпустить - возможно. ежели до 2015ого - не верю. Страшилки...
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#26
,
|
|
|
Цитата CodeMonkey @ Это не более чем слухи. MS про Windows 8 ещё ничего не сказала. ![]() Было заявлено самой MS что следующая Windows будет только x64. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#27
,
|
|
|
Цитата jack128 @ Народ, а зачем вам 64 битное приложение?? Читал статью CodeMonkey про 64-разрядность, был уверен в её утверждениях (х64 нужно в основном для потребления огромных кусков памяти + для библиотек и плагинов), однако потом встретил вот такое мнение: Цитата 1. Application written for x86_64 don't need to care about backward compatibility. x86 applications are often compiled for i486 (even if optimised for i686) so some of the optimisation is lost or cannot be utilised fully. 2. x86_64 has more registers, which means stack (which is slow) needs to be used less often. 3. x86_64 has support for 64-bit arithmetic including multiplying two 64-bit numbers to get a single 128-bit number (ie. multiplying big numbers is 4 times faster). This helps with encryption based on multiplying big numbers (read: SSL). 4. Running 32-bit application on 64-bit system requires context of the CPU to be changed each time such application gets some CPU time. 5. Pure 64-bit system needs less libraries to be loaded since compatibility libraries are not needed. Of course, the biggest drawback is: 1. Pointers are 64-bit and stack is aligned to 64-bit which means that more memory is used. So on systems with moderate amount of memory, 64-bit system may be way slower than 32-bit one. However, after certain point, 64-bit system and 64-bit applications may turn out to be faster. Выглядит разумным. Комментарии от знающих людей? Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#28
,
|
|
|
Гм, а чему это противоречит?
В "64 нужен, потому что..." вовсе не обязательно входит "каждый пункт, чем 64 отличается от 32 в WOW-е". Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#29
,
|
|
|
Ну, из твоей статьи складывается ощущение, что сама по себе х64 версия ничего не дает.
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#30
,
|
|
|
Да? Ну не знаю.
Вроде у меня про регистры сказано. Про разбухающий код сказано. Про отсутствие необходимости обратной совместимости и единую модель вызова - сказано. Про операции с числами - сказано. Про сопроцессор - сказано. Про отсутствие эмуляции - не сказано. Но вроде это же очевидно? Наверное, разница только в стиле текста. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#31
,
|
|
|
Сказано, но распределено по тексту и не очень акцентировано. Неплохо бы где-нибудь в итогах также привести плюсы х64 приложения по сравнению с х32 под х64 ОС. Имхо.
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#32
,
|
|
|
Ага, я вот и выясняю, что можно подправить.
Думаю, что можно вторую статью после прощупа беты написать. Поменьше, но без предварительной информации - уже чисто по отличиям и на что смотреть при переходе. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#33
,
|
|
|
Цитата CodeMonkey @ Думаю, что можно вторую статью после прощупа беты написать Было бы неплохо ![]() Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#34
,
|
|
|
Цитата Romkin @ Там рекомендуют преобразовывать pointer к PBytes. Несколько неожиданно... Я уже месяц назад это сделал в своих проектах. Когда на FPC переходил. ![]() Добавлено Цитата Fr0sT @ Выглядит разумным. Комментарии от знающих людей? 1) Предложение не очём. x86-64 поддерживает функционал SSE2. Да какую то часть совместимости отбросили, но этого не горячо не холодно SSE3 и так далее надо поддерживать. Капля в море. 2) Есть противоречивые данные. Говорят что плюса в этом нет. Сам не проверял. 3) Это от архитектуры завесит. Честно скажу что не везде так. 4) Ровно также контекст переключается и при 64 бинтом. А регистров стало больше. Сохранять их дольше. Правда ОС это дело оптимизирует. Если задача имеет наивысший приоритет, то ОС не сохраняет контекст целиком, а только нужное. 5) x86-64 это по большому счёту набор команд. А архитектур больше. И совместимость делается под архитектуру а не под набор команд. Цитата Fr0sT @ Of course, the biggest drawback is: 1. Pointers are 64-bit and stack is aligned to 64-bit which means that more memory is used. Стек в программе всего 1. А выравнивание памяти устраняет умный менеджер памяти, такой как FastMM. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#35
,
|
|
|
Цитата Pavia @ А выравнивание памяти устраняет умный менеджер памяти В каком смысле устраняет? Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#36
,
|
|
|
Думаю, большинство пока что замерло в ожидании x64
![]() Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#37
,
|
|
|
Цитата Fr0sT @ Думаю, большинство пока что замерло в ожидании x64 А зачем? XE - считай, отлаженный юникод плюс отутюженные JSON и DataSnap новый. 64 разряда не такая уж необходимая фишка. Плюс если замерли на чем-то ниже 2009, то апгрейд скорее всего сделать не удастся ![]() Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#38
,
|
|
|
Romkin, ну, я вот замер на 2010, ХЕ содержал не так много улучшений, чтобы его приобретать. А вот 64-я позарез нужна, ее купят.
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#39
,
|
|
|
Цитата Romkin @ А зачем? А перейди на 64-битую ось, так сразу данный вопрос и отпадет ![]() Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#40
,
|
|
Цитата Riply @ А перейди на 64-битую ось, так сразу данный вопрос и отпадет наш вполне себе 32х битный софт вполне себе на 64битной винде работает. У мя дома стоит win7 x64 - под ней туча 32битных программ работает. в чем проблема?? Или каждый второй дельфиец драйвера пишет??? Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#41
,
|
|
|
Ну не каждый второй, и не драйвера.
А вот shell extensions - каждый двадцатый писать вполне может. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#42
,
|
|
|
Цитата jack128 @ наш вполне себе 32х битный софт вполне себе на 64битной винде работает Дык я и не говорила, что не работает ![]() Просто, когда под 64-биткой работаешь, захочется, лично для себя, какую-нибудь "помогалку" написать и споткнешся, что это туда-то не инжектировать ![]() Или пойдут танцы с какими-нибудь Wow64Redirection, которые, крайне не рекомендуется использовать. И т.д. Все эти мелочи, вкупе, оставляют довольно неприятный осадок, что родная среда до сих пор не добралась до х64. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#43
,
|
|
|
Продукт, однозначно, рассчитан на Delphi-программистов, которые его приобретут ради лицензии, а потом поймут, что приобретение Профешионала просто неизбежно... Ну, не хватило у меня сразу средств на проф... зато проапгрейдится можно со скидкой... Это маркетинговый ход, кто в бизнесе шарит - сразу поймет.... Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#44
,
|
|
Цитата Riply @ А перейди на 64-битую ось, так сразу данный вопрос и отпадет Расслабляемся. и следующая будет x86. это не говорит что не нужно переходить на 64. это дает больше времени ембаркадеровцам отладить новый компилятор. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#45
,
|
|
|
Сообщ.
#46
,
|
|
|
А тем временем уже есть 4 бета версия XE2, под кодовым названием Pulsar. В ней есть компиляция x64 и даже компиляция консольный приложений под мак.
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#47
,
|
|
|
Круто! Интересно, можно ли где-то скачать? В тестеры записываться лениво
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#48
,
|
|
|
А как в тестеры записаться вообще?
![]() Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#49
,
|
|
http://www.embarcadero.com/products/beta-programs
но не факт что попадешь в тестируемую группу. я у их зарегин уже несколько лет и ни разу не тестировал Delphi Win32 Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#50
,
|
|
|
А никто х64 не щупал? Поделитесь хоть впечатлениями.
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#51
,
|
|
|
Сообщ.
#52
,
|
|
|
Ну хоть в целом как? Работает?
![]() Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#53
,
|
|
Цитата Fr0sT @ Ну хоть в целом как? Работает? В любом случаи работать будет. ![]() Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#54
,
|
|
|
Цитата ViktorXP @ Цитата Fr0sT @ Ну хоть в целом как? Работает? В любом случаи работать будет. Вопрос как раз именно в том как оно работать будет Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#55
,
|
|
ну не думаю что сценарий работы будет чем то отличатся от текущей. вспомним переход на юникод или дженерики. сначала глючит, а потом работает нормально.
а если судить со скринов и описаловки то работа в самой студии не поменяется. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#56
,
|
|
|
По идее, в правильно спроектированном приложении вообще ничего не надо будет менять - все изменения внутренние.
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#57
,
|
|
УРААААААА!
http://forum.vingrad.ru/forum/topic-334023.html что бы не нарушать договор о не разглашении я лучше ссылку дам где это уже разглашено. Добавлено кодовое название они странное взяли "Pulsar". Интересно к чему бы это. ![]() Добавлено ща качну Seven 64 битную. завтра пойду и куплю две плашки по два гига и буду перебиратся на 64-битную платформу )))))) Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#58
,
|
|
|
И кросс-платформа есть!!! о_О Резко качаю!
Пока только яблооси... неоткуда взять. Т.ч. пока зацениваем только 64. апд Поставил. Конечно, первым делом погонял огненную обезьяну ![]() Под виртуалкой - кошмар: падает, зависает, АВ. Но на хост машине всё ОК. Впечатление - красивые контролы, хотя АльфаСкинс покрасивее будут. Первый глюк - если боковая панель на "автосвертке", то вернуть ее в зафиксированное положение никак не удается - она просто удаляется. При этом повторный вызов панли через View не срабатывает. Добавили неймспейсы к юнитам, непривычно и пока неудобно. Теперь придется еще и неймспейс запоминать. К тому же подстановка местами не срабатывает. Ни один из замеченных мною глюков не исправили. Реквесты тоже не сделали ни один. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#59
,
|
|
Цитата Fr0sT @ Добавили неймспейсы к юнитам, непривычно и пока неудобно. да. меня это тоже выбило. я даже подумал что придется опять переводить проекты на новую платформу. но благо и без их собирается. Добавлено плохо что сама студия осталась 32-битная. ![]() Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#60
,
|
|
|
Неймспейсы добавлять не надо. В опциях проекта нужно указать дефолт-неймспейсы. Вообще-то они там должны быть по умолчанию для новых проектов. Если импортируется старый проект - тогда да, может не быть. Но вообще, импорт старых проектов - не самая удачная идея. Проекты всегда лучше пересоздавать. Пути могут поменяться, наборы BPL-к, etc.
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#61
,
|
|
Цитата CodeMonkey @ Это все можно дефолтить. (удалением *.dproj, *.local и *.identcache файлов)Пути могут поменяться, наборы BPL-к, etc. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#62
,
|
|
Цитата Fr0sT @ Добавили неймспейсы к юнитам, непривычно и пока неудобно. Теперь придется еще и неймспейс запоминать. К тому же подстановка местами не срабатывает. так же как удобнее файлы раскладывать по папкам, так же и юниты удобнее раскидывать по неймспесам. А то что IDE глюкавая - ты сам её выбирал ;-) Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#63
,
|
|
если будет возможность создавать свои немспейсы то может быть.
а если нет. то какая разница. это нужно будет заучивать где какой модуль находится, но зачем если в самой логике это ничего не меняет. Добавлено интересно одно. они сделали поддержку iSO, но почему нет других. у их когдато был продукт BuilderX который мог сорирать под симбию. его можно было бы развить, добавить туда андроид, ну и пусть что не паскалевский язык, зато среда знакомая и удобная (если взять карбид то он не удобный, медленный и уж очень много лишнего.) Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#64
,
|
|
|
Цитата jack128 @ так же как удобнее файлы раскладывать по папкам, так же и юниты удобнее раскидывать по неймспесам Собственно, насколько я понимаю, это достигается простым наименованием юнита namespace.unitname.pas, что можно было сделать еще фиг знает когда. Хотя, возможно, будет удобнее, если вместо IdFoo, IdBar будет Indy.Foo, Indy.Bar Цитата ViktorXP @ они сделали поддержку iSO, но почему нет других. у их когдато был продукт BuilderX который мог сорирать под симбию. его можно было бы развить, добавить туда андроид, ну и пусть что не паскалевский язык, зато среда знакомая и удобная (если взять карбид то он не удобный, медленный и уж очень много лишнего.) iOS идет как линух, думаю, остальные линухи тоже сделают. А вот дроид... теоретически, тоже линух, но там заморочки с архитектурой - проги на низком уровне, которые можно писать на сях, не имеют доступа к гую, он доступен только из жаба-прог со всеми вытекающими жабовскими штуками. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#65
,
|
|
ну мне дроид не интересен. мне интересна симбия.
пс. а в дроиде и впрямь нет архитектуры на подобие симбии? это ведь логично и удобно. (хотя некоторые ограничения налаживаются) Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#66
,
|
|
Цитата Fr0sT @ Собственно, насколько я понимаю, это достигается простым наименованием юнита namespace.unitname.pas, что можно было сделать еще фиг знает когда. да, мы с 2007 дельфи так называем модули. Просто терь и Embarcadero додумалась, что это не плохо, что радует. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#67
,
|
|
|
Цитата ViktorXP @ ну мне дроид не интересен. мне интересна симбия А вот создателям она неинтересна. Соответственно через пару лет сдохнет. Кому охота делать ее поддержку? Мб, на FP можно под нее писать? Цитата ViktorXP @ а в дроиде и впрямь нет архитектуры на подобие симбии? это ведь логично и удобно ты так говоришь, как будто все знают архитектуру симбы Цитата jack128 @ Просто терь и Embarcadero додумалась, что это не плохо RAD 2009. Generics.Collections, Generics.Defaults... Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#68
,
|
|
Цитата Fr0sT @ Мб, на FP можно под нее писать? он не полноценно ее поддерживает. Цитата Fr0sT @ А вот создателям она неинтересна. Соответственно через пару лет сдохнет. Кому охота делать ее поддержку? Врпинципи все на это указывает. но некоторые нюансы меня смущают. 1. мелкософт продолжает выпускать новые версии сильвера (возможно еще что то я спецом ничего не искал) и для симбии (возможно и для совместимости. но лично я вообще ни разу не видел сайта под мобилу с использованием сильвера.) 2.нокиа полностью закрыла сайт симбии с припиской что он начнет работать в следующем году и что сейчас ведутся работы по переписыванию симбии. и симбия станет полностью опенсорсная (хотя я и раньше так думал. но возможно я чего то не знал) то что разогнали всех тех разработчиков было правильно. ибо столько крыворуких там было (за столько лет немогли нормально ее сделать. вон дроид и то быстрее справился). я понимаю что исправлять всегда труднее чем писать новое. но их там было много. даже если каждому дать исправлять по одной кнопке то за месяц они бы точно справились. (хотя бы такие банальные приколы как в одном месте есть кинетическая прокрутка а в других ее нет.) Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#69
,
|
|
Цитата Fr0sT @ RAD 2009. Generics.Collections, Generics.Defaults... угу, два модуля - это круто. А IOUtils/Character/Diagnostics и тд - назвали по старому. ну и само наименование: "Generics.Collections" - почему деталь реализации (generics) вынесена в первую часть названия?? Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#70
,
|
|
да он ща в обще в неймспейсе system находится.
кстати прикол: пишешь System точка, показывает все что привязано в ней. пишешь Generics и по всей логике он должен был показать все что лежит там, но облом. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#71
,
|
|
|
Цитата ViktorXP @ пишешь Generics и по всей логике он должен был показать все что лежит там, но облом Вот об этом я и писал, когда говорил, что подстановка не пашет. С Winapi та же шняга. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#72
,
|
|
Цитата ViktorXP @ да он ща в обще в неймспейсе system находится. Ну если ембаркадеро все так же "заимствует" идеи из .NET то generic колекции должны находится в System.Collections.Generics , а legacy колекции в System.Collections Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#73
,
|
|
вчера обнаружил. они дали возможность привязывать свой манифест. это круто. а то было немного не удобно привязывать вистовский манифест (сразу вспоминалась история с D5-D7 и ресурсами)
и у прогресс бара сделали возможность стиля Marquee ![]() Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#74
,
|
|
|
Цитата ViktorXP @ Это еще в 2010 было! и у прогресс бара сделали возможность стиля Marquee ![]() Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#75
,
|
|
Цитата Alexander N @ хм. не заметил. (сейчас нет этой версии что бы проверить.) на один костыль меньше тянуть совместимость.Это еще в 2010 было! Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#76
,
|
|
|
Вышла восьмая бета Пульсара (но называется почему-то Seven) - Delphi / C++ Builder Beta Seven Build 16.0.4223.41907. Куча переименований в Firemonkey, фиксы дебаггера и 50 других багфиксов
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#77
,
|
|
|
Цитата Fr0sT @ Вышла восьмая бета Пульсара (но называется почему-то Seven) - Delphi / C++ Builder Beta Seven Build 16.0.4223.41907. Куча переименований в Firemonkey, фиксы дебаггера и 50 других багфиксов Нет, называется она именно восьмой: Цитата Delphi / C++Builder Beta Eight Build 16.0.4223.41907 is now available for download at beta.embarcadero.com in the Pulsar project. а когда релиз будет? никто не знает? Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#78
,
|
|
|
Посмотрел чейнджлог - несколько х64 багов, несколько firemonkey, пара в базовых классах. Мои все репорты так и остались... да и баг с исчезанием боковых панелей тоже не поправили
Добавлено Цитата ych_boriss @ Нет, называется она именно восьмой ![]() Цитата ych_boriss @ а когда релиз будет? никто не знает? Уж лучше бы не спешили, побольше багов починили бы апд. Исчезла возможность задать дефолтные свойства проекта - только через сохранение и применение конфигурации, это так задумано? Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#79
,
|
|
|
Цитата Fr0sT @ Мои все репорты так и остались... да и баг с исчезанием боковых панелей тоже не поправили А ты разве бета-тестер? Для сообщения багов беты там специальная процедура, закрытый раздел на QC. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#80
,
|
|
|
Цитата CodeMonkey @ А ты разве бета-тестер? Ну хз, считаюсь ли бета-тестером или нет, но репорты на 16-ю версию компайлера вижу. А "свои репорты" - имел в виду те, о которых сообщал раньше. Они меня, само собой, больше всего интересуют. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#81
,
|
|
а вы видели какие лехкие exe файлы она создает? + несмотря на то что не стоит птички "собирать для удаленного отладчика" она всеравно собирает с rsm файлом.
Добавлено + прикол произошол. при удалении компонента вывалилось окно о крахе. ну и предложила мне отправить отчет. отправил. дало ссылку где можно посмотреть результат. где написано: ![]() ![]() Project: Delphi.Net Version: 16.0 ![]() Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#82
,
|
|
|
Девятую бету подогнали)
Список багфиксов на этот раз довольно внушительный. Для себя отметил: * MainForm's TDataSource component can not reference Data Module's TDataSet component * TCustomMemoryStream - 32 bit limitations * Allow procedure/function declarations to specify their entry point code alignment - любопытно, что они там сделали * Winsock.pas needs to be updated to Winsock 2.2 Добавлено P.S. В акции зарегился, вдруг повезёт ![]() Эх, жаль на world tour не попадаю... Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#83
,
|
|
|
О том, что есть в XE2, и о Firemonkey в частности: RAD STUDIO XE2: Launch Event Report
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#84
,
|
|
|
Тыц.
Цитата iOS support for native code FireMonkey apps !! – Yes folks – use Delphi to build iPhone and iPad apps that even Steve Jobs will be happy to have in his Store! Native Android apps – using PhoneGap in RadPHP Native Android apps – to come in the future for Delphi (as well as Linux) DataSnap client proxy generation – for Android, .NET, Objective-C, Blackberry, iOS etc etc Т.е. iOS, включая iPad и iPhone - уже сейчас в Native. Android - уже сейчас, но из под RadPHP. И он же является прицелом для реализации под Delphi. Кстати: Цитата Starter Edition will be available right from the start along with Pro, Enterprise and Architect. ALL platforms supported by the cross-platform capabilities will be in ALL editions, including Starter! Ещё кстати: на конфу 13-го сентября кто-то идёт? Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#85
,
|
|
Цитата CodeMonkey @ Native Android - уже сейчас, но из под RadPHP. )))) Это просто сайт. немного оптимизированы под маленький дисплей. но это не нативный код. это php/html/js посему заявлять что они могут писать приложения под айфонь я бы не стал (ибо с тойже легкостю я могу взять блокнот и сказать что он пишет нативные приложения под симбию. и при этом совершенно спокойно верстать html странички под ее) хотя может я чето не понял в ихней идеи и они в хтмл компилируют сишные вставки. только что опять попробовал поискать sdk андроида и нашол. нормальный сишный sdk. значит все таки под их можно писать на сишке. а раньше не находил. и на всех блогах говорили что только на джаве. Добавлено я кстате так и не понял. чей они компилятор x64/iSO используют. свой или freepascal? Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#86
,
|
|
|
Цитата ViktorXP @ Это просто сайт. немного оптимизированы под маленький дисплей. но это не нативный код. Во-первых, модифицировать цитату - не кошерно. Во-вторых, там есть доступ к Native API. Как я понимаю, именно это имелось в виду по ссылке. Цитата ViktorXP @ заявлять что они могут писать приложения под айфонь я бы не стал Я не очень в курсе, но на iPhone/iPad - iOS же стоит? А под iOS native DXE2 пишет. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#87
,
|
|
Цитата CodeMonkey @ Во-первых, модифицировать цитату - не кошерно. да это еще на их сайте написано. (хм. я чето подумал что я плохо сцетировал и добавил надпись. звиняюсь. спать надо больше и меньше работать по ночам) Цитата CodeMonkey @ Я не очень в курсе, но на iPhone/iPad - iOS же стоит? и опять таки они пишут что могут ща писать приложения на айфон. пс. кстати они вместе с радпхп еще и sdk, джаву и апач предоставляют. и не единого примера нововведений. хотя может где то глубоко внедрях папки simples лежит. нужно будет сею папку перековырять. (в xe2 удобнее в этом плане. они дают их качать отдельно) Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#88
,
|
|
|
Цитата ViktorXP @ значит все таки под их можно писать на сишке. а раньше не находил. и на всех блогах говорили что только на джаве. Там, насколько я знаю, так устроено: на сях пишутся сервисы (не имеют доступа к гую), а гуевые - на джаве Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#89
,
|
|
нашел недостаток в неймспейсах (по крайне мере не удобно).
![]() ![]() uses WinApi.Windows; ..... var Param1: WinApi.Windows.TPoint; // норма Param1: Windows.TPoint; // ошибка ![]() ![]() uses Windows; ..... var Param1: WinApi.Windows.TPoint; // ошибка Param1: Windows.TPoint; // норма То есть от приставки "WinApi" зависит логика объявления типа. Добавлено логически то это все правильно. но писать в коде WinApi.Windows.TPoint уж очень неудобно, и среда в коде вообще с неймспейсами плохо работает (вообще не показывает типы) Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#90
,
|
|
Цитата ViktorXP @ логически то это все правильно А мне не понятно, почему "логически - это правельно" ?? Поясни, пжлста Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#91
,
|
|
|
По-моему, это баг.
В правилах разрешения имён явно сказано, что при объявлении ![]() ![]() uses WinApi.Windows; Windows.TPoint должно разрешаться правильно: Цитата The following Writeln statements are equivalent: ![]() ![]() uses MyCompany.Libs.Unit2; begin Writeln(MyCompany.Libs.Unit2.SomeString); Writeln(SomeString); end. На QC сообщай. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#92
,
|
|
![]() ![]() А мне не понятно, почему "логически - это правельно" ?? Поясни, пжлста Добавлено Цитата На QC сообщай. вечером напишу им. а то ща на работе. Добавлено Цитата CodeMonkey @ По-моему, это баг. нет. там ведь явно показано в примере ![]() ![]() Writeln(Unit2.SomeString); // ERROR! Writeln(Libs.Unit2.SomeString); // ERROR! Writeln(MyCompany.Libs.Unit2.SomeString); // Correct. Writeln(SomeString); // Correct. Добавлено блин. а смысл тогда пространственных имен если ими только модули нарекаются. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#93
,
|
|
|
А, точно, не так прочитал.
Тогда всё верно. Зато TPoint нормально разрешится. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#94
,
|
|
но как разрулить ситуацию с двумя одинаковыми типами? переставлять местами модули? или указывать полное имя модуля? это тупо
Добавлено это приведет к тому что проще указать Windows нежели WinApi.Windows. ибо имя короче, а разруливать однотипные имена проще. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#95
,
|
|
|
Цитата ViktorXP @ это приведет к тому что проще указать Windows нежели WinApi.Windows Гм. И указывать TPoint проще, чем Windows.TPoint. Кто ж спорит. А ты хотел, чтобы полноквалифицированное имя было бы проще указывать, чем короткое? И как же это так? Цитата но как разрулить ситуацию с двумя одинаковыми типами? Да как и раньше: 1). Выбрать основное пространство/модуль. а). Полноквалифицированное имя для вспомогательного идентификатора, короткое - для основного. б). Псевдоним для вспомогательного идентификатора. 2). Не выбирать. а). Полноквалифицированные имена (оба). б). Псевдонимы на оба типа. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#96
,
|
|
да при таких раскладах смысл неймспейса пропадает. ибо для чего он еще нужен кроме как удобно найменовать модуль? это и раньше сделать можно было. и работало бы даже удобнее. ибо он не считал бы WinApi пространственным именем, а WinApi.Windows видел как неразделимое имя модуля. что при вело бы к нормальной работе выпадающего списка с типами. а ща оно глючит ибо не видит дальше одноуровнего пространственного имени
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#97
,
|
|
блин. FireMonkey умеет работать только с битмапом. при этом нельзя включить транспарен у контролов. нельзя загрузить иконку на кнопку.
и если рисуешь линию то нужно учитывать еще пол пикселя (иначе идет отрисовка между двумя пикселями что приводит до утолщения линии). при этом делфя постоянно глючить и перестает нормально работать с fm компонентами. редактор кода вообще сходит сума, и начинает себя вести не предсказуемо (ругается там где ошибки вообще нет. и перестает ругаться на это место только после перезапуска всей студии. отваливаются горячие клавиши и кодекомплит, начинают работать только после ребилда или перезапуска студии) и очень часто приходится писать что то наподобие ![]() ![]() Canvas.Fill.Kind := TBrushKind.bkSolid; вместо ![]() ![]() Canvas.Fill.Kind := bkSolid; Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#98
,
|
|
|
ViktorXP
а презентация в Киеве то будет пруф Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#99
,
|
|
Это неплохо. Обязательно буду если они решатся ее провести.
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#100
,
|
|
|
Dот стоило только вчера поставить бету 9, как подогнали бету 10.
Только багфиксы, ничего нового; фиксы в основном по FM, дебуггеру и проблемам на х64. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#101
,
|
|
Цитата Fr0sT @ дебуггеру и проблемам на х64. круть. а то ide страшно лагала на x64 Добавлено надо будет сегодня вечером поставить Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#102
,
|
|
|
Компилятор под 64 бита сделали свой, родной.
Вот только компилятор весьма корявый, еще и оптимизатор компилятора для 64-бит пока отсутствует. По моим наблюдениям 64-битные дельфийские программы работают значительно медленнее 32-битных. На QC куча репортов по поводу оптимизации компилятора, которые переведены на следующий релиз. Увы, пока насладиться 64-битами не выйдет, можно считать, что компилятор только для ознакомления и ковыряния. В общем, имхо, аналогичная ситуация как с дженериками на 2009-й дельфе. Ждем XE2 ![]() Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#103
,
|
|
Это хорошо что свой. пусть и корявинький (подправить всегда успеют), но свой.
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#104
,
|
|
|
А, еще забыл. С Extended полная лажа, просто перекомпилировать код не удастся. У 64-битного компилятора Extended аналогичен Double со всеми вытекающими...
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#105
,
|
|
Цитата ViktorXP @ при этом делфя постоянно глючить и перестает нормально работать с fm компонентами. редактор кода вообще сходит сума, и начинает себя вести не предсказуемо При VCL разработке такого не наблюдается. что же они такое делают когда проектируешь FM Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#106
,
|
|
|
ViktorXP, ты хоть не под виртуалкой тестишь? Вроде я такого не наблюдал, на Висте с влюченным Aero нормально. Хотя я по FireMonkey только примеры смотрел.
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#107
,
|
|
не. на хостовой системе.
Добавлено я не просто тестю на их примеры, а решил написать маленькие проекты.( с написанием компонента, юзанием интерфейсов, джинериков и работы с dll) Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#108
,
|
|
|
Под виртуалкой FM совершенно неюзабельно, ага. Что, кстати, не есть гут.
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#109
,
|
|
надо будет попробовать что же такое с ней происходит под виртуалкой. но нужно учитывать что весь интерфейс FM выводится через DirectX. посему в виртуалке как минимум нужно поставить птичку что бы юзала сей вывод (сею птичку уже все имеют. хотя насчет VirtualPC не помню)
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#110
,
|
|
|
Цитата ViktorXP @ надо будет попробовать что же такое с ней происходит под виртуалкой. но нужно учитывать что весь интерфейс FM выводится через DirectX. Четко написано, что FM не будет ничего выводить без аппаратной поддержки. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#111
,
|
|
|
VirtualBox вроде как эмулирует эту поддержку. В любом случае как-то нехорошо, что проги будут предъявлять особенные требования к железу. Это всё-таки не 3Д моделирование.
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#112
,
|
|
|
Цитата Fr0sT @ В любом случае как-то нехорошо, что проги будут предъявлять особенные требования к железу FM - GPU-powered. Это из определения библиотеки. Но FM не обязателен для разработки. Это опция. Можно использовать что-то иное. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#113
,
|
|
|
Цитата CodeMonkey @ Но FM не обязателен для разработки. Это опция. Можно использовать что-то иное. Это единственное средство, которое на Д позволит делать кросс-платформу => если будет выбор, делать кросс-платформу или win-only, ответ очевиден => ФМ будет широко использоваться => виртуалки в пролёте ![]() Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#114
,
|
|
Это единственное средство которое вообще позволяет собирать под мак.
Цитата Fr0sT @ В любом случае как-то нехорошо, что проги будут предъявлять особенные требования к железу. Это нормально. С учетом мака по другому не получится. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#115
,
|
|
|
Ну, FPC то вроде бы на родной API садится. Понятное дело, что если юзаешь родной API - это чертова уйма несовместимостей и компромиссов, и легче сделать свое с нуля, но такая критичность к железу всё-таки не радует. Интересно, а на удаленные сеансы это тоже распространяется?
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#116
,
|
|
эм... FM это такой же набор компонентов как и VCL только другой. только в отличии от второго FM выводит все через DX, что позволяет делать "красивые" и "живые" интерфейсы (и главное исчезает проблема артефактов и моргания). в любом случаи они будут юзать API самой оси (также как и VCL, которая является оболочкой к WinApi. (и не надо тут же вспоминать DevExpress и ему подобные, речь не о том))
ты видел на каком железе мак работает? и там все движется и плавает. я так и не нашел птичку как все это выключить (хотя не сильно старался) Добавлено Цитата Fr0sT @ Это единственное средство, которое на Д позволит делать кросс-платформу самой кросплатформенности нет (такой как это есть в яве). есть кросс-код.(типа сишной QT) Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#117
,
|
|
|
ViktorXP, я имел в виду API контролов, а не абстрактный графический API.
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#118
,
|
|
Цитата Fr0sT @ я имел в виду API контролов что ты под этим имеешь ввиду? Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#119
,
|
|
|
ViktorXP, CreateWindow, SetWindowStyle и т.д.
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#120
,
|
|
а какая разница что ты создашь визуальный объект через CreateWondows или ты создашь полигон в 3d. и в одном и во втором случаи пользователь будет видеть одно и тоже.
в VCL есть компонент TControl который не создается через CreateWindows но темнемения он имеет визуальное отображение. и тут не надо забывать про всякие девекспресы и скины. которые делают отрисовку под себя (посути вся логика отрисовки стандартного побоку). Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#121
,
|
|
|
ViktorXP, разница в том, что вся виндовая парадигма "все является окном" летит в тартарары. А это - невозможность выцепить контрол на чужой проге, большие проблемы со скринридерами и т.д.
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#122
,
|
|
|
Цитата Fr0sT @ большие проблемы со скринридерами и т.д. Кстати, в Windows есть Acessibility API, который (вроде как) позволяет с этим бороться. Но это надо, чтобы фреймворк это поддерживал. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#123
,
|
|
Цитата Fr0sT @ а в макак как с этим дело? кто то вообще смотрел его sdk? а он вообще хоть есть? разница в том, что вся виндовая парадигма "все является окном" летит в тартарары. Добавлено пс. никто тебе не запрещает работать на впрямую через api ни в одной из систем. FM это визуальные компоненты, не более того. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#124
,
|
|
|
Цитата ViktorXP @ а в макак как с этим дело? кто то вообще смотрел его sdk? а он вообще хоть есть? СДК точно есть, да и интерфейс ихний даже имя имеет - cocoa. То же для никсов, только там для каждого оконного менеджера АПИ разные. Цитата ViktorXP @ никто тебе не запрещает работать на впрямую через api ни в одной из систем Благодарствую, что дозволили, боярин ![]() Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#125
,
|
|
кстати такой подход даже лучше нежели через CreateWindow ибо можно полностью контролировать окно от начала до конца. только нужно что бы они по исправляли косяки в FM (самое большее что меня повергло так это то что они заблочили конструктор у формы.). а то что в твое окно больше никто не полезет это разве плохо?
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#126
,
|
|
|
Цитата ViktorXP @ а то что в твое окно больше никто не полезет это разве плохо? Случаи разные бывают. Например: есть прога по типу браузера. Отображает некую длинную страницу с картинками, таблицами и прочей красивостью. Юзер хочет сохранить всё это в виде картинки. Запускает скринграббер в режиме прокрутки, и... обламывается. Потому что скринграбберу тупо некому слать WM_SCROLL. В бешенстве изломав клавиатуру, юзер удаляет прогу, очищает корзину, форматирует хард и клянется никогда больше не иметь дело с её автором. Да, можно придумать на этот пример кучу возражений, но суть, думаю, ясна. Тем не менее, я также не спорю, что реализованный с нуля интерфейс решает нереальную гору проблем с совместимостью. Однако есть немалое количество людей, которым подавай не какой-то там раскрашенный, а обязательно нативный вид программ. Что, в общем-то, вполне понятно: единая схема для всех приложений, одна настройка отражается сразу на всех окнах - огромный плюс. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#127
,
|
|
|
Сообщ.
#128
,
|
|
|
Мда, а список багфиксов недоступен - сервер выдает ошибку. Придется ждать, пока починят
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#129
,
|
|
|
Пишут, что 164 фикса. Правда те баги, которые меня интересуют и которые я репортил, пока, вроде, не пофиксили.
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#130
,
|
|
|
О, починили. Много фиксов дебуггера, компилятора и ФМ.
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#131
,
|
|
|
Никогда не имел дела с вебинарами, это потом можно будет скачать в виде файла или посмотреть в записи?
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#132
,
|
|
|
Кто-нибудь может просто и доходчиво объяснить, как с помощью этой новой студии писать и под винду, и под мак? Если FireMonkey это только интерфейс, а для мака все равно нужно использовать IDE на маке, какой в этом смысл, код-то весь разный будет? В общем, избавьте из каши в голове плз.
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#133
,
|
|
Цитата Fr0sT @ Когда то это было без проблем. теперь это у ембаркадеровцев как то по дебильному сделано. так как не известно где они лежат и если идти по старой ссылки то там предлагается регится на вебинар, хотя он уже прошел Никогда не имел дела с вебинарами, это потом можно будет скачать в виде файла или посмотреть в записи? Добавлено shershen. создаешь FireMonkey проект. добавляешь платформу iOS и пере собираешь. все. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#134
,
|
|
|
Цитата ViktorXP @ создаешь FireMonkey проект. добавляешь платформу iOS и пере собираешь. все. и программа написанная под винду будет работать на маке? :-О Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#135
,
|
|
если ты не будешь привязываться к системе то да.
там ограничения появляются. например нельзя юзать модуль Windows и тд. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#136
,
|
|
|
Так вот вопрос и стоит, что делать, если "привязываться к системе"? Нельзя же написать серьезную программу и не вызвать ни одной WinApi функции.
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#137
,
|
|
Цитата shershen @ Почему? можно.Так вот вопрос и стоит, что делать, если "привязываться к системе"? Нельзя же написать серьезную программу и не вызвать ни одной WinApi функции. Для каких нужд ты ее будешь вызвать? для отрисовки? так тут уже все совсем по другому. для работы с реестром? так в маке нет реестра. для работы с файлом? есть FileOpen/FileCreate/FileXXXXX Так для чего тебе WinApi? если ты все таки придумаешь для чего то difine еще никто не отменял. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#138
,
|
|
|
Ну понятно. По сути, чтобы перевести готовую вин-программу на мак, нужно заново ее написать на FM. Жаль, я наивно верил в чудо) Спасибо за разъяснения.
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#139
,
|
|
по большому счету да. просто пересобрать не получится.
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#140
,
|
|
|
А кстати, если софтина использует обычный VCL компонент, сторонний, то вариантов ее перенести нет?
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#141
,
|
|
![]() |
Сообщ.
#142
,
|
|
При желании можно попробовать. имена у компонентов одинаковые. но я думаю легче будет новый создать.
а если сторонний то вообще торба. ибо пока производитель не выпустит FireMinkey аналог то он него придется отказаться. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#143
,
|
|
|
В таком случае, непонятна такая эйфория вокруг FM. Было бы интересно послушать, может кто-нибудь расскажет о своих планах использования FM? Мне видится его ограниченное использование для новых не очень сложных проектов, но с удовольствием послушаю другие мнения.
![]() PS. Естественно, я говорю с точки зрения Win-разработчика, не щупавшего мак ![]() Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#144
,
|
|
shershen, если ты будешь писать только под винду то можешь оставатся на VCL иначе пересаживайся.
на FireMonkey можно за пять минут набросать окно 3DMax-а. и это уже не будет похоже на простенький проект. пс. хотя для меня времени нужно побольше. я пока разобрался что к чему. и студия в этом пока мало помогает. Добавлено VCL они тоже подпилили. теперь там меньше ошибок (я так думаю). Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#145
,
|
|
|
Цитата shershen @ Мне видится его ограниченное использование для новых не очень сложных проектов, но с удовольствием послушаю другие мнения. ![]() Если посмотреть на все кроссплатформенные приложения под мак и винду, то они используют какой-то кроссплатформенный набор виджетов вроде Qt. Или это совсем разные проекты (Skype). Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#146
,
|
|
понемногу начал в езжать в логику FireMonkey. на нем такие вещи можно творить. менять абсолютно все (AlphaSkin отдыхает). при желании даже интерфейс DevExpress-са можно клонировать.
нашел как картинку на кнопку тыкать (это не очевидно и немного не удобно но можно. по идеи эту же настройку можно присвоить и другой кнопке но пока это го не делал. не дошел). Добавлено вот только жалко что нельзя объединить стекло и FireMonkey ![]() Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#147
,
|
|
|
Немало фиксов, включая хелп, стили (надо будет пощупать эту фичу!), БД и много ФМ. Также есть надежда, что пофиксили тупой глюк с пропаданием служебных окошек, если их из состояния "сворачиваемое" попытаться перевести в "прилепленное"
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#148
,
|
|
Цитата Fr0sT @ (надо будет пощупать эту фичу!) под уже существующие меняй что хочешь, но я не понял как создать свой. и демки нет ![]() Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#149
,
|
|
|
ViktorXP, а видел проги в /bin? Как раз демка и редактор стилей. Кажется, создание там было.
Добавлено bin\VclStyleDesigner.exe, но создание там реализовано довольно криво - всегдадается на растерзание стандартный стиль. Причем если удалить картинку со всеми глифами, прога этого не поймет и будет выдавать AV на каждое обращение. ЗЫ. Баг с док-окошками в самом деле починили! А вот с {$IF} и кодинг-инструментами остался ![]() Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#150
,
|
|
но там тоже нельзя создать стиль под новый компонент. имеется ввиду под свой собственный компонент.
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#151
,
|
|
|
Ааа, в этом смысле... да по идее должен быть способ, иначе смысл этой фичи будет не больше чем от тем Виндов без манифеста
P.S. Только у меня не логинится на http://qc.embarcadero.com ? Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#152
,
|
|
а я пользуюсь программой. как то влом на сайт заходить.
Добавлено опытным путем нашел, что бы включить отрисовку без директа достаточно поменять флаги ![]() ![]() GlobalUseDirect2DSoftware := true; GlobalUseDirect2D := false; но нужно немного стили подправить. удалить из их GlowEffect он юзаеют Direct (библа d3d9.dll) Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#153
,
|
|
|
Йее! Но как-то тихо выпустили, ни тебе оповещений на мыло, ничего. Чейнджлога тоже не видать, похоже, просто взяли b12 и зарелизили.
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#154
,
|
|
да. это тот самый кандидат.
Добавлено так только сегодня его и зарелизили. посему оповещение еще не пришло. еще не успели Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#155
,
|
|
|
Официальный анонс, наверное, ещё будет. Просто релиз - это же не пятиминутное дело. Просто некоторые особо пронырливые уже нашли ссылочки
![]() Добавлено P.S. Поря создавать Новости Delphi XE 2 ![]() Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#156
,
|
|
|
Ну список что в ней есть я и так знаю (кстати, они втихую включили и Фастрепорт, что приятно), я про чейнджлог в отличие от беты 12. Тем более что там есть пара очень мешающих багов. Ну да ладно. Будем надеяться на сервис-паки.
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#157
,
|
|
почему в тихую? он был в бета вериях (с седьмой то точно). и где то в бета недрах сее написано было.
Добавлено Цитата они еще не знают что я нашол как заставить рабатать FireMonkey без DirectX System Requirements Intel Pentium or compatible, 1.6GHz minimum (2GHz+ recommended) 1GB RAM (2 GB+ recommended) 3-9 GB (or more) of free disk space 0.5-1.5 GB additional temporary free space for use by the installer Mouse or other pointing device DVD-ROM drive (if installing from a Media Kit DVD) 1024x768 or higher resolution monitor Color quality above 256 colors (32-bit or 16-bit is sufficient) FireMonkey Requirements FireMonkey development requires Delphi XE2, C++Builder XE2, or RAD Studio XE2 running on Windows. FireMonkey applications run on multiple platforms with these requirements: Basic Graphics Processing Unit (GPU): For Windows development, any vendor DirectX 9.0 class or better (Pixel Shader Level 2) For OSX and iOS development, OpenGL Note: Qualified Macs all have a qualified GPU. 2 GB RAM or more ![]() Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#158
,
|
|
самое не удобное так это sdk к iOS. вчера листал справку (в бета версии), искал хоть что нибудь на IPhone и iOS и вот что нашол:
Цитата Xcode provides the required development files from the Mac. You can install Xcode from any of the following sources: On your "Mac OS X Install" DVD, under Optional Installs, double-click Xcode.mpkg to install Xcode on your system. At the Mac App Store, download Xcode for free. As a registered Apple Developer, you can download the free version of Xcode 3. To register and then download Xcode 3: Register (free of charge) as an Apple Developer at http://developer.apple.com/programs/register/. Go to Mac Dev Center Click the Xcode 3 and iOS SDK 4.3 download link (Xcode 3.2.6 and iOS SDK 4.3) Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#159
,
|
|
|
Что-то в стандартной online справке XE2 трудно найти, что хочешь. К примеру, новая плюшка TOSVersion: http://blogs.embarcadero.com/pawelglowacki/2011/08/31/39273
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#160
,
|
|
|
http://docwiki.embarcadero.com/VCL/XE2/en/SysUtils.TOSVersion <- вот она. Если вопрос про поиск по сайту, то надо же время на индексацию новых страниц поисковиком.
Добавлено http://docwiki.embarcadero.com/RADStudio/en/Unit_Names_Alphabetical_List_with_Unit_Scopes - полезный список на тему "кудыть всё делось". Замена поиску по диску. (может всё же разделить новости и обсуждение по темам?) Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#161
,
|
|
мда. они решили немного усложнить нам отладку и модификацию кода.
В делфи есть такая потрясающая вещь что он компилирует файл даже если он не сохранен. Я довльно часто этим пользовался если мне нужно посмотреть на поведения какого то объекта и что бы упростить себе жизнь я модифицировал стандартный модуль (не сохранял. измененный он висел в редакторе открытым) и в текущий момент компилился мой модифицированный. также если стандартные модули реагируют на какой то дефайн то можно было этим оперировать при сборке. а теперь торба... такая большая и темная. я так понял что они больше никогда пересобиратся не будут. заметил это еще с дефайнами (они на мои дефайны тупо не реагируют). потом открыл модуль закоментил несколько строк и пересобрал, и редактор поставил точки где я закоментил. и отладчик даже показал что они выполняются. если сей модуль сохранить у себя тогда компилятор ругается что какой то другой модуль собран с другим модулем, не совместимым с этим. пс. хотя имею большую надежду что это глюк который поправят Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#162
,
|
|
|
Мда, теперь с модификацией RTL тяжко. Причем даже когда пытаюсь скомпилить стандартный модуль из ком строки, все подключаемые модули компилятся, а нужный - нет.
![]() ![]() "c:\program files\rad studio\bin\dcc32.exe" -$O- -$W+ --no-config -M -B -I"c:\program files\rad studio\lib\Win32\release" -U"c:\program files\rad studio\lib\Win32\release" -E"C:\Program Files\RAD Studio\source\rtl\sys" "C:\Program Files\RAD Studio\source\rtl\sys\System.SysUtils.pas" Добавлено Удаление dcu из <OS>/release и debug не помогает - среда начинает ругаться на отсутствие файла. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#163
,
|
|
я почти тоже описывал чуть выше (но без командной строки). повесил им в багрепорте. пока тихо.
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#164
,
|
|
прикольный глюк можно в FireMonkey поймать.
Прикреплённый файл ![]() и это не артефакты. это реально такая отрисовка. в таких крывых компонентах даже печатать можно и и скролить. (но в скрол сложно прицелится ибо он отражается в одно месте а физически находится в другом) Добавлено Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#165
,
|
|
|
с какой версии на ХЕ2 можно обновляться?
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#166
,
|
|
|
Frees, с 2007 и новее
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#167
,
|
|
Цитата ViktorXP @ Посоветовали обновить драйвер. помогло. от ныне к программам на делфи нужно будет писать что бы версию драйвера юзеры обновляли прикольный глюк можно в FireMonkey поймать. ![]() Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#168
,
|
|
|
а кто на FM уже игру сделал?
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#169
,
|
|
Поскольку сейчас плотно сижу на VS, возник глюпый вопрос об возможности нормального сосуществования RAD Studio 2010, XE и XE2 вместе (на одном, в данном случае, системном томе). Или это невозможно в принципе? Или возможно?
ЗЫ без VM. Просто нужно, чтобы все они три стояли на "C:\" и никак не мешали друг другу. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#170
,
|
|
|
У меня на работе стоят вместе Delphi 7, 2010 и XE. XE2 ещё не ставил, а 2010 и XE никак друг другу не мешают. Думаю и XE2 если поставить - никаких проблем не возникнет.
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#171
,
|
|
у меня стоит 2007, 2010, XE, XE2 работают нормально. вот компоненты глючат (проблема с DevExpress-ом. намучился пока его нормально поставил. а все остальные работают нормально)
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#172
,
|
|
Прикольное ограничение появилось.
Создаем форму и переименовываем ее в CustomForm (что бы тип получился TCustomForm). и ide тут начинает страшно ругатся (что переименовать нельзя). помогает только выбить ее через диспетчер задач. хотя если сохранить эту форму и переименовать все через блокнот то все работает. |
Сообщ.
#173
,
|
|
|
Цитата Krid @ возможности нормального сосуществования RAD Studio 2010, XE и XE2 вместе (на одном, в данном случае, системном томе) Сами среды должны ужиться, вот с хелпом могут быть проблемы (долбаный DocExpl). |
Сообщ.
#174
,
|
|
|
Респект ребятам! С нетерпением жду, когда у нас закупят лицензии. Хочется уже новенького, плюс избавиться от нескольких корявых костылей, связанных с глюками 2010.
Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
Сообщ.
#175
,
|
|
|
![]() |
Сообщ.
#176
,
|
|
как сказали на семинаре. конвертировать не реально. а подобные простые формы будет проще по новой пересоздать.
|
Сообщ.
#177
,
|
|
|
Вышел первый апдейт:
http://blog.marcocantu.com/blog/delphi_xe2_update1.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+marcocantublog+%28marcocantu.blog%29 Расскажите люди, что там реально-то изменилось? Добавлено Ну и конечно здесь тоже много букв написано: http://docwiki.embarcadero.com/RADStudio/en/Release_Notes_for_XE2#Please_Install_XE2_Update_1 Судя по Notes, Firemonkey так пока и остаётся сыростью. |
Сообщ.
#178
,
|
|
|
Цитата Fr0sT @ Респект ребятам! С нетерпением жду, когда у нас закупят лицензии. Хочется уже новенького, плюс избавиться от нескольких корявых костылей, связанных с глюками 2010. На самом деле мне кажется, что просто срок - сентябрь был установлен свыше. А доделать не успели - пустили в релиз последнюю бету. Вот теперь и доделывают. Добавлено Цитата Dimonka @ Расскажите люди, что там реально-то изменилось? 120 фиксов. Точного списка пока не опубликовали. Добавлено Цитата CodeMonkey @ Точного списка пока не опубликовали Хотя не... Вот же он: http://edn.embarcadero.com/article/41649 В чём тогда вопрос был? |
![]() |
Сообщ.
#179
,
|
|
Цитата CodeMonkey @ Вышел Update 1 для XE2: http://docwiki.embarcadero.com/RADStudio/e...ll_XE2_Update_1 Ссылки: http://delphi-insider.blogspot.com/2011/09...uilder-xe2.html Фиксы: http://edn.embarcadero.com/article/41649 Оперативненько. Меньше месяца - и уже 120 фиксов. А мне и релиз не понравился. Особенно Unit Scope и какая-то невнятная муть с конфигурациями проектов. Несколько своих компонентов запросто перенёс с 2010 в XE. А вот перенести их из XE в XE2 оказалось довольно-таки напряжно.. Ну поменяли сигнатуры некоторых WinAPI ф-ций.. С одной стороны правильно сделали, а с другой - кучу проектов переделывать надо. Это конечно мои проблемы, но они реально зае-ли этими своими модификациями RTL/VCL ![]() ЗЫ IMHO, версия сырая и в некоторых местах банально недоделанная. Пока останусь на XE. Это сообщение было перенесено сюда или объединено из темы "Новости Embarcadero" |
![]() |
Сообщ.
#180
,
|
|
Цитата Krid @ Даже мелкомягкие так своих клиентов/пользователей не напрягают. эээ... .net? Добавлено Цитата Krid @ но они реально зае-ли этими своими модификациями RTL/VCL ![]() ну это новый этап. это как с 2007 на 2009. Добавлено Цитата Krid @ ЗЫ IMHO, версия сырая и в некоторых местах банально недоделанная. Пока останусь на XE. там много исправлений в VCL. с vcl оно ведет себя стабильно, а вот при FireMonkey... когда кодишь то ощущаешь себя мартышкой с гранатой которая через каждых 10 минут само произвольно выплевывает кольцо. |
![]() |
Сообщ.
#181
,
|
|
Цитата ViktorXP @ эээ... .net? .Net - платформа, а RAD Studio - Framework. Это разные вещи. |
![]() |
Сообщ.
#182
,
|
|
если ничего не трогать низкоуровневое. то никаких проблем. мой компонент например прекрасно перенесся с XE в XE2 (а вот что бы он заработал на 2010 немного помучатся пришлось)
Добавлено пс. хотя он даже WinApi юзает. он за счет ее внедряется в окно и подменяет оконную процедуру. |
![]() |
Сообщ.
#183
,
|
|
Ну а для меня WinAPI в XE2 и есть самая большая проблема.
Например, в той же SendMessageTimeout последний параметр всегда был "var lpdwResult: DWORD". А в XE2 - это указатель (lpdwResult: PDWORD_PTR). И таких ф-ций дофига. Они поменяли сигнатуры, и из-за этого мне кучу кода переписывать надо ![]() С одной стороны это хорошо, что они многие сигнатуры WinAPI ф-ций сделали такими же, как в VS. Но из-за этого нужно переписывать код (который в предыдущих версиях работать не будет ![]() Ну а про Unit Scope и конфигурациях проектов я уже говорил.. Прикинь, сколько ручной работы нужно, чтобы перенести все свои проекты в XE2! Цитата ViktorXP @ ну это новый этап. это как с 2007 на 2009. Я и говорю Цитата Krid @ они реально зае-ли этими своими модификациями RTL/VCL ![]() Цитата ViktorXP @ а вот при FireMonkey... когда кодишь то ощущаешь себя мартышкой с гранатой которая через каждых 10 минут само произвольно выплевывает кольцо А вот FireMonkey как раз порадовал. Конечно, как первый блин - немного комом получился, но в общем и целом хорошая штука, IMHO. Посмотри пример. |
![]() |
Сообщ.
#184
,
|
|
Цитата Krid @ Конечно, как первый блин - немного комом получился я это понимаю. но мне не понятно почему среда ведет себя не в адеквате. при том что я пишу простой код, не связаный с FireMonkey, но в проекте FireMonkey. сама же библиотека компонентов FireMonkey заслуживает похвал. сделана очень гибко и красиво. есть конечно недостатки, но как ты правильно заметил тут дело в блине ![]() |
![]() |
Сообщ.
#185
,
|
|
вот это не дочеты:
![]() ![]() procedure MQEventCallbackProc(var Item: TItemRespunce; Loss: Boolean); begin list2.SendCallback(procedure (SENMessage: PSENMessage; var Buf: PByte; var Size: Integer) begin Move(Item.Buf^, Buf^, Item.Size); Size := Item.Size; end); end; ![]() ![]() [DCC Error] UMain.pas(50): E2555 Cannot capture symbol 'Item' [DCC Error] UMain.pas(50): E2555 Cannot capture symbol 'Item' [DCC Error] UMain.pas(51): E2555 Cannot capture symbol 'Item' помнится когда то тип Pointer был не совместим с типом Integer. ![]() ![]() var P: Pointer; PB: PByte; I: Integer; P := P+I;// по прежнему не совместимы PB := PB+I;// работает. что не может не радовать. FreeAndNil(I);// а вот это жесть. и оно не ругается на это. даже не предупреждает. |
Сообщ.
#186
,
|
|
|
Цитата ViktorXP @ FreeAndNil(I);// а вот это жесть. и оно не ругается на это. даже не предупреждает. В 2010 так же, сам недавно столкнулся - переделал класс в запись, а Freeandnil убрать забыл. Ловил AV. Баг Репорт есть, но делать проверку не хотят (по неизвестной мне причине) |
![]() |
Сообщ.
#187
,
|
|
О какую я ошибку выцепил. Я не сразу понял из за чего ошибка. ибо ругается оно вообще не там где ошибка.
![]() ![]() type TChildObject<T: record> = class(TObject) private type PItem = ^TItem; TItem = record Data: T; end; TInternalObject = class(TObject) public procedure Test(P: Pointer); end; var InternalObject: TInternalObject; public constructor Create; destructor Destroy; override; end; { TChildObject<T>.TInternalObject } procedure TChildObject<T>.TInternalObject.Test(P: Pointer); var Item: PItem absolute P; //F2084 Internal Error: AV06A90AD4-W00000014-1 //если //Item: PItem; то все работает {or:} var Item: PItem; Data: PByte absolute Item; //F2084 Internal Error: AV06A90AD4-W00000014-1 begin end; { TChildObject<T> } constructor TChildObject<T>.Create; begin InternalObject := TInternalObject.Create(); end; destructor TChildObject<T>.Destroy; begin FreeAndNil(InternalObject); inherited; end; type TTestRecord = record I: Integer; end; var ChildObject: TChildObject<TTestRecord>; begin ChildObject := TChildObject<TTestRecord>.Create(); ChildObject.InternalObject.Test(nil); end; Добавлено а у кого то Update 2 есть? интересно будет ли там это работать |
Сообщ.
#188
,
|
|
|
Цитата ViktorXP @ вот это не дочеты: ![]() ![]() procedure MQEventCallbackProc(var Item: TItemRespunce; Loss: Boolean); begin list2.SendCallback(procedure (SENMessage: PSENMessage; var Buf: PByte; var Size: Integer) begin Move(Item.Buf^, Buf^, Item.Size); Size := Item.Size; end); end; ![]() ![]() [DCC Error] UMain.pas(50): E2555 Cannot capture symbol 'Item' [DCC Error] UMain.pas(50): E2555 Cannot capture symbol 'Item' [DCC Error] UMain.pas(51): E2555 Cannot capture symbol 'Item' А что здесь не так? var, const параметры нельзя передавать в анонимную процедуру. Объявляй локальную переменную. Пруф: Цитата E2555 Cannot capture symbol '%s' (Delphi)From RAD Studio Go Up to Error and Warning Messages (Delphi) Index The parameter indicated in the message cannot be captured, for example because the parameter is defined as a constant. Retrieved from "http://docwiki.embarcadero.com/RADStudio/en/E2555_Cannot_capture_symbol_%27%25s%27_(Delphi)" Category: RAD Studio Reference Добавлено Цитата Item: PItem absolute P; Пора уже забыть о существовании такой конструкции. Стыдно, товарищ! ![]() Добавлено Цитата ViktorXP @ помнится когда то тип Pointer был не совместим с типом Integer. Никогда! Только через приведение типов. Совместим был PChar. Но это была залипуха, которую убрали с помощью PByte. И это более логично, потому что указательная арифметика применима не только к строкам, а и любым двоичным данным. К чему тут PChar? Добавлено Цитата Krid @ Например, в той же SendMessageTimeout последний параметр всегда был "var lpdwResult: DWORD". А в XE2 - это указатель (lpdwResult: PDWORD_PTR). Мда, жалко. С var-ом так удобно было ![]() |
![]() |
Сообщ.
#189
,
|
|
Цитата [S]mike @ А что здесь не так? var, const параметры нельзя передавать в анонимную процедуру. Объявляй локальную переменную. Да я так и понял. и именно подобным способом и решил. но могли бы это и предусмотреть. хотя боюсь там не все так просто (с учетом того что анонимная функция вообще как интерфейс создается (если верить отладчику) Прикреплённый файл ![]() Добавлено Цитата [S]mike @ Пора уже забыть о существовании такой конструкции. Стыдно, товарищ! ну не скажи. absolute очень удобная вещь. Добавлено вот недавно мне нужно было по быстрому набросать код вывода одного файла. там нюанс был что в блоке сначала идет признак что это, а потом сам блока причем следующий блок только в конце текущего. и размеры у их у всех разные. и идут они не по порядку. с absolute это получилось куда красивее ![]() ![]() procedure ShowSecurity(); var B: Byte; I, f, Ccp: Integer; var ms: TMemoryStream; CP_info: PCP_info; Utf8_info: PcpUtf8_info absolute CP_info; cpClassRefInfo: PcpClassRefInfo absolute CP_info; cpIntegerInfo: PcpIntegerInfo absolute CP_info; cpPackage: PcpPackage absolute CP_info; begin ms := TMemoryStream.Create; try ms.LoadFromFile(security_f); with PExportFile(ms.Memory)^ do begin WriteLn('Magic: ', IntToHex(Magic, 8)); WriteLn('Version: ', MajorVersion, '.', MinorVersion); WriteLn('ConstantPoolCount: ', ConstantPoolCount)); CP_info := @ConstantPool[0]; if ConstantPoolCount > 0 then begin Ccp := ConstantPoolCount; while Ccp > 0 do begin WriteLn('CP_info.Tag: ', GetNameBycpType(CP_info.Tag)); case CP_info.Tag of cptPackage: begin WriteLn('CP_info.NameIndex: ', cpClassRefInfo.NameIndex); WriteLn('CP_info.Version: ', cpPackage.MajorVersion, '.', cpPackage.MinorVersion); Write('CP_info.AID: '); for I := 0 to cpPackage.AID_length - 1 do Write(IntToHex(cpPackage.AID[I], 2)); WriteLn; CP_info := cpPackage.Next; end; cptClassRef: begin WriteLn('CP_info.NameIndex: ', cpClassRefInfo.NameIndex); CP_info := cpClassRefInfo.Next; end; cptInteger: begin WriteLn('CP_info.bytes: ', cpIntegerInfo.bytes); CP_info := cpIntegerInfo.Next; end; cptUtf8: begin Write('CP_info.Bytes: '); for I := 0 to Utf8_info.Length - 1 do Write(Utf8_info.Bytes[I]); WriteLn; CP_info := Utf8_info.Next; end; end; Dec(Ccp); WriteLn; end; end; end; finally FreeAndNil(ms); end; end; |
Сообщ.
#190
,
|
|
|
Цитата ViktorXP @ хотя боюсь там не все так просто (с учетом того что анонимная функция вообще как интерфейс создается (если верить отладчику) Именно! А если передавать var-переменную в анонимную процедуру, то ты будешь ожидать, что, изменив ее значение так, задашь результат конечной переменной, а это будет не так. Цитата ViktorXP @ ну не скажи. absolute очень удобная вещь. Это паскалевский рудимент (как и goto), имеющий в современной дельфи массу ограничений и имеющий сомнительную кроссплатформенность (как и ассемблерные вставки). А смысла в нем особо нет. Я лично обхожусь без особых неудобств. Добавлено Цитата ViktorXP @ вот недавно мне нужно было по быстрому набросать код вывода одного файла. там нюанс был что в блоке сначала идет признак что это, а потом сам блока причем следующий блок только в конце текущего. и размеры у их у всех разные. и идут они не по порядку. с absolute это получилось куда красивее Красоты коду это не добавляет, что в процедурном программировании, что в ООП. Для ООП нужен был бы полиморфизм объектов: создавать экземпляр класса нужного типа, который бы записывал нужные данные, а потом возвращал следующий блок. Для процедурного программирования все это нужно было бы вынести в отдельные функции. Все было бы намного красивее, практичнее и без absolute. |
![]() |
Сообщ.
#191
,
|
|
Цитата [S]mike @ Все было бы намного красивее, практичнее и без absolute. Ну это холивар по типу "нельзя юзать goto". ![]() |
Сообщ.
#192
,
|
|
|
Цитата ViktorXP @ Ну это холивар по типу "нельзя юзать goto". А это и не холивар. Нельзя и все. Здесь я наглядно показал, что Goto - это непрактично, некрасиво и к тому же медленно ![]() Добавлено Да, про Integer и Pointer я тебе тоже ответил. Так что в данном случае твои претензии несостоятельны. |
Сообщ.
#193
,
|
|
|
Цитата [S]mike @ Здесь я наглядно показал, что Goto - это непрактично, некрасиво и к тому же медленно Да будет тебе известно, что статья Дейкстры в своё время была написано не просто так, а для конкретной цели: борьбы с кодом-лапшой, пример которого ты и привёл. А код-лапша получался из интересных свойств ранних языков, вроде Basic. И много сегодня у нас пишут код-лапшу? Нет. Так в чём же тогда реальный вред от goto? С каким-таким монстром мы боремся? Противники goto всегда выбирают самые плохие примеры ("плохие" - в смысле "страшные"), вроде лапши или перехода в середину цикла извне и т.п. Тут, конечно, не поспоришь, да и не нужно спорить - они правы. Только вот они умело "забывают" про то, что использование goto бывает иногда удобно. Скажем, для прерывания двойного цикла. Противники goto тут же говорят, что, дескать, двойной цикл надо бы оформить в отдельную функцию и воспользоваться Exit. Как-то не очень согласуется с "быстрее" и "практичнее". Не, если исходный код на страницу - однозначно надо выделять, но если кроме двойного цикла в процедуре всего несколько строчек, то выделять из неё подпрограмму - явный overkill. Аналогично и absolute - он опасен не более, чем нетипизированные указатели и goto, но иногда может быть полезен. Надеюсь, нетипизированные указатели не хотим запрещать в native-языках? Добавлено Второй пример полезности goto - обработка ошибок. Конечно, конкретно в Delphi это не применимо (тут есть try/finally), но в других языках без SEH (в старом Pascal-е или в Basic-е) - вполне. |
Сообщ.
#194
,
|
|
|
Цитата CodeMonkey @ но иногда может быть полезен Такой прием называется "дай обезьяне гранату" (без намеков на ник ![]() Для первого примера с компонентами RTTI или WinAPI было бы более удобным способом. А вообще, читаем комменты к оригиналу статьи http://www.deltics.co.nz/blog/?p=586 Цитата CodeMonkey @ Надеюсь, нетипизированные указатели не хотим запрещать в native-языках? Во всяком случае их использование следует минимизировать, а не декларировать все указателем, потом через absolute "приводить" к нужным типам ![]() |
Сообщ.
#195
,
|
|
|
Цитата [S]mike @ Такой прием называется "дай обезьяне гранату" (без намеков на ник ). Можно конечно воспользоваться. Но стоит элементарно где-то описАться, как получим кучу труднонаходимых ошибок. Приведённая примером статья, хотя и содержит несколько случаев, но предлагает использовать absolute всего для одной вещи: уменьшения шума в коде от приведения типов или переприсваивания указателей. При таком использовании опасности absolute не превышают опасностей оригинального кода (с использованием указателей или преведений типов). Поэтому "стоит элементарно где-то описАться" - это не недостаток absolute. Это недостаток жёсткого приведения типа или использования указателей. Другими словами, ситуация с absolute как минимум не хуже оригинала. Я просканировал комменты, но не нашёл ни одного, говорящего про недостаток именно самого absolute, а не операции, которую он подменяет. Цитата Во всяком случае их использование следует минимизировать, а не декларировать все указателем, потом через absolute "приводить" к нужным типам Несомненно. Лично я к goto, absolute и указателям отношусь как "можно использовать только в разрешённых верховной партией случаях" ![]() P.S. Цитата Для первого примера с компонентами RTTI или WinAPI было бы более удобным способом. Это же просто пример. Он сделан на компонентах, чтобы писать меньше кода - не надо описывать классы. В целом же там могут быть не компоненты, классы без RTTI и даже вовсе не классы. Простой пример: записи, чьё содержимое трактуется по первому полю. |
![]() |
Сообщ.
#196
,
|
|
хм. не знал что можно еще и классы так приводить. и я всегда почему то считал что ссылка absolute всегда должна быть одного размера с исходной переменной.
Добавлено я не один такой. "мой" баг пометили как дубликат и по ссылке я узнал что он тянется еще с 2009 версии. |
![]() |
Сообщ.
#197
,
|
|
Цитата ViktorXP @ FreeAndNil(I);// а вот это жесть. и оно не ругается на это. даже не предупреждает. это было всегда и во всех версиях дельфи. можно сделать аналог, без этого недостатка ![]() ![]() TObjectHelper = class public procedure FreeAndNil<T: TObject>(var Obj: T); end; procedure TObjectHelper.FreeAndNil<T: TObject>(var Obj: T); begin SysUtils.FreeAndNil(Obj); end; Obj: TObject; I: Integer; TObjectHelper.FreeAndNil<TObject>(Obj); // компилится TObjectHelper.FreeAndNil<Integer>(I); // НЕ компилится |
Сообщ.
#198
,
|
|
|
Что-то я не понял
Цитата 'Packed' Now Forces Byte Alignment of Records If you have legacy code that uses the packed record type and you want to link with an external DLL or with C++, you need to remove the word "packed" from your code. The packed keyword now forces byte alignment, whereas in the past it did not necessarily do this. The behavior change is related to C++ alignment compatibility changes in Delphi 2009. http://docwiki.embarcadero.com/RADStudio/en/Delphi_Compiler_Changes_for_XE2 Цитата Record Type Data Field Alignment In previous versions of Delphi, packed records were used to ensure proper data alignment when calling external libraries and notably certain external Windows API functions that require record or struct parameters. Unused data fields were introduced to "pad things out" and make the needed data fields line up as needed. The current compiler implementation eliminates the need for using packed records this way, in most cases. Revising your existing source code to eliminate needless packed records and "padding" makes the source more clear and easier to maintain. If you require that your existing data files maintain compatibility with older versions of Delphi, apply the compiler directive {$OLDTYPELAYOUT ON} to source code where the older record organization is still needed. http://docwiki.embarcadero.com/RADStudio/en/Converting_32-bit_Delphi_Applications_to_64-bit_Windows Что они в итоге сделали с packed? |
Сообщ.
#199
,
|
|
|
![]() |
Сообщ.
#200
,
|
|
немного не понял про Packed. он идет теперь по умолчанию и его можно не указывать или все так как прежде. с Packed пакует без Packed выравнивает.
Добавлено все. по примеру я понял. если внутри есть пакованная запись то и эта запись будет паковаться |
Сообщ.
#201
,
|
|
|
Если фишка именно в выравнивании начала записи (в массивах, я так полагаю - а где еще?), то причем тут код в DLL? И еще интересно, как согласуют выравнивание полей в записях, переправляющихся в WinAPI функции.
|
Сообщ.
#202
,
|
|
|
Расположение записи на стеке тоже выравнивается.
|
![]() |
Сообщ.
#203
,
|
|
Цитата ViktorXP @ с Packed пакует без Packed выравнивает. ![]() Но такое поведение вроде нужно директивами задавать. |
![]() |
Сообщ.
#204
,
|
|
да нет. вроде он по умолчанию выравнивает до восьми или до четырех байт. это если хочешь поменять изменить это то либо packed либо директивы. лично я юзаю packed лишь тогда когда мне нужно "кучно" собрать байты. во всех других случаях это потеря производительности.
|
![]() |
Сообщ.
#205
,
|
|
Да
![]() Цитата ViktorXP @ с Packed пакует без Packed выравнивает. А ты попробуй поиграться с директивами {$OLDTYPELAYOUT} и {$A} кста, а какая у тебя версия Delphi (а то я тут тебе советую..)? Добавлено Цитата ViktorXP @ вроде он по умолчанию выравнивает до восьми или до четырех байт Судя по встроенному help'у (XE2 - Update3, Help - Update3) - выравнивает до 8 (quadword). |
Сообщ.
#206
,
|
|
|
Меня в основном волнует, не изменилось ли поведение при указании packed.
|