Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];

Вниз

Delphi 2005 и никаких клиент-серверов   Найти похожие ветки 

 
Суслик ©   (2004-12-08 11:00) [0]

Никаких клиент-серверов. Прошлая моя ветка погибла (и по моей в том числе вине). :((( Не дадим умереть этой!

Задача этой ветки рассказать что-то новое про delphi 2005. Лично у меня нет времени искать сказано это где-то еще. В любом случае думаю, что другим будет интересно.

Напомню на что я ругался в прошлой ветке:
1. Открытие модулей в виде binary.
2. Невозможность скомпилировать некоторые синтаксические конструкции
3. Out of memory и снятие задачи.

По пунктам:

1. Да, это все дело в "я" в первых 256 символах (за точное число не ручаюсь - информация Акуличева).
Это очевидно, минус delphi 2005.

2. Напомню, что у меня не компилировалась такая конструкция:
const
  a: array [boolen] of integer = ($fffffffe, 0);
Очевидно, что конструкция некорректная. Т.к. идет присвоение числа выходящего за границы integer. В ранних версиях дельфи было предупреждение, в этой версии - ошибка "constant expresstion expected".

Плюсы delphi2005 в таких случаях
На уровне компилятора отслеживаются подобные ошибки.

Минусы delphi2005 в таких случаях
Не соответствие текста ошибки сути ошибки.

Вывод
Захотите переползать на дельфи 2005 исправте все warning, т.к. многие из них становятся в новой версии синтаксическими ошибками.

3. Теперь про снятие задачи. Как выяснилось если код компилируется корректно, т.е. без ошибок, то он компилируется до конца. Раньше у меня были ошибки из п.2. И компилятор, наверное, клинило. После исправления всех таких мест все стало ОК.
Это очевидно, минус delphi 2005.

Теперь о новом, что выяснил вчера:

1. Синтаксический анализатор стал более правильным. Например он перестал пропускать такие конструкции:
procedure D(i: integer; a: integer = 1);
begin
  ...
end;

// вызов
D(1, )

что раньше (в delphi 6) радостно пропускал.
Есть еще некоторые моменты.
Это очевидно, плюс delphi 2005.

2. Range checking стал более строг. Этот пункт перкликается с п. 2 из первой секции.
Если раньше у вас где-нибудь было предупреждение "constant превосходит bounds" и все ОК работало, то в новой версии это будет:
1. либо как написано в п.2 из первой секции (т.е. не будет компилиться)
2. либо будет range check error в рантайм.
Т.е. есть ощущение (пока не проверял), что в новой версии для числовых констант также есть проверка границ, чего раньше не было (иначе как работало бы?).
Т.е. еще раз - собараетесь ползти на дельфи 2005, разберитесь с предупреждениями, либо расставьте везде {$R-}
Это я склонен отнести также к плюсам delphi 2005.

Общий вывод
Т.к. проект я все-таки скомпилил и первичные тесты говорят, что все в общем-то работает, то это не может не радовать. Разработка win32 продолжается! Ура товарищи :))


 
ghg ©   (2004-12-08 11:20) [1]

у меня вопрос по поводу StarTeam
насколько я понял на диске с D2005 нет его
и как же это понимать?

нужно дополнительно потом ставить его и он внедриться в среду сам и все будет пучком или как?


 
wisekaa ©   (2004-12-08 11:26) [2]

У меня вопрос?
Уточни какую версию ты поставил (Триал или Релиз)?


 
Суслик ©   (2004-12-08 11:29) [3]


>  [2] wisekaa ©   (08.12.04 11:26)

Триал


> [1] ghg ©   (08.12.04 11:20)

Не знаю. Не разбирался.


 
Игорь Шевченко ©   (2004-12-08 11:30) [4]


> в этой версии - ошибка "constant expresstion expected".


const
 c1 = $fffffffe;
 c2 = $fffffffc;
type
 TSomeEnum = (a1, a2);
 
procedure TForm1.Button1Click(Sender: TObject);
const
 a: array [TSomeEnum] of Integer = (c1, c2);
begin
 {}
end;

Максимум - [Warning] main.pas(34): W1012 Constant expression violates subrange bounds

Так что не надо дезинформации.


> Лично у меня нет времени искать сказано это где-то еще


А...статью плохо читал ?


> Захотите переползать на дельфи 2005 исправте все warning,
> т.к. многие из них становятся в новой версии синтаксическими
> ошибками.


Мягко говоря, недостоверная информация.


 
ghg ©   (2004-12-08 11:31) [5]

wisekaa ©   (08.12.04 11:26) [2]
если это ко мне то скажу следующее
есть диск с релизом (вроде бы)
я не ставя D2005 попробовал поставить StarTeam и мне сказали что мол нужен отдельный диск с ним

это как понимать?
при Custom Install для D2005 есть там галочка по поводу StarTeam?


 
Суслик ©   (2004-12-08 11:34) [6]


>  [4] Игорь Шевченко ©   (08.12.04 11:30)


> Так что не надо дезинформации.

Никакой дезы. Диск я брал у розыча. У меня работает именно так.


> > Захотите переползать на дельфи 2005 исправте все warning,
> > т.к. многие из них становятся в новой версии синтаксическими
> > ошибками.
> Мягко говоря, недостоверная информация.

А грубо говоря? Вранье?  
Еще раз тебе говорю, что в моем дистрибутиве это так.

У тебя триал или релиз?


 
Игорь Шевченко ©   (2004-12-08 11:52) [7]

Суслик ©   (08.12.04 11:34) [6]

Триал пока


 
Суслик ©   (2004-12-08 11:55) [8]

Ладно, подожду пока со своими выводами - скачаю триал сам (этот мне дали). Может он у меня кривой :) А там посмотрим.


 
}|{yk ©   (2004-12-08 12:10) [9]

Да, вечно у Борланда проблемы с буквой Я.
В Borland C++ 3.1 (под Win 3.1) создавались псевдоконсольные программы. И самым большим приколом было то, что буква "я" не выводилась - просто пропускалась. Приходилось использовать "Я"


 
Anatoly Podgoretsky ©   (2004-12-08 12:18) [10]

}|{yk ©   (08.12.04 12:10) [9]
Ну так не русскии и не Европа.


 
wisekaa ©   (2004-12-08 13:28) [11]

Одного только не пойму, вчера сравнивали с Visual Studio.NET по сжиранию ресурсов, почему наша Дельфи так много требует памяти, ведь по функционалу (IDE) они фактически одинаковы.


 
KSergey ©   (2004-12-08 13:46) [12]

Потому как продукты микрософт используют свои же модули, загружаемые и другими подсистемами Windows.
Сторонние же разработчики вынуждены писать это еще раз, и там уже мы видим реальное так скажем потребление ресурсов именно этой задачей. Увы, я не против MS, но это есть... (именно в таком контексте)


 
wisekaa ©   (2004-12-08 14:21) [13]


> KSergey ©   (08.12.04 13:46)


Ну мы постарались посчитать весь прирост памяти и новые приложения при запуске Студии.


 
euru ©   (2004-12-08 15:59) [14]

Наличие перегрузки операторов
Это плюс (или минус?)

Наличие class helpers
Это плюс (или минус?)

Отсутствие перегрузки операторов для Win32
Это минус (или плюс?)

Глючная реализация class helpers для Win32
Это минус


 
WondeRu ©   (2004-12-08 16:13) [15]

а не слишком ли цена за него - $3000?


 
Delirium ©   (2004-12-08 18:07) [16]

Читаю и удивляюсь, ну с какой скажите мне целью, надо переходить на Delphi 2005 и при этом продолжать разрабатывать софт для win32? Ведь .Net приложения ничем не устпают win32 (ибо всегда можно обратиться к api или com) и при этом раскрывают широкие перспективы новых эффективных технологий, один Remoting чего стоит. Может это - нежелание учиться?


 
by ©   (2004-12-08 18:22) [17]

off
Delirium ©   (08.12.04 18:07) [16]
А ты для .Net используешь С# Builder, Delphi 2005, VisualStudio или что-то другое?


 
vuk ©   (2004-12-08 18:33) [18]

to Delirium ©   (08.12.04 18:07) [16]:
Ща мы опять в оффтопик ударимся. :o)
>Ведь .Net приложения ничем не устпают win32
Для Win32 софта внешних зависимостей меньше.

>при этом раскрывают широкие перспективы новых эффективных
>технологий, один Remoting чего стоит.
Технологии, они не самоцель. Будет необходимость использования технологий - они будут использоваться. А так - только если пальцЫ гнуть.


 
Суслик ©   (2004-12-08 18:45) [19]


> Ща мы опять в оффтопик ударимся. :o)

я силой себя заставил промолчать :)))


 
by ©   (2004-12-08 19:04) [20]

Суслик ©   (08.12.04 18:45) [19]
Так ты ж написал и никаких клиент-серверов, а это обсуждение платформ )))


 
DiamondShark ©   (2004-12-08 19:13) [21]

А как операторы перегружать?


 
Суслик ©   (2004-12-08 19:17) [22]


>  [20] by ©   (08.12.04 19:04)
> Суслик ©   (08.12.04 18:45) [19]
> Так ты ж написал и никаких клиент-серверов, а это обсуждение
> платформ )))

Эх я несчастный, в следующий раз буду аккуратней.


 
vuk ©   (2004-12-08 19:22) [23]

to DiamondShark ©   (08.12.04 19:13) [21]:
>А как операторы перегружать?
Где? В Win32 - никак (если custom variants не считать).
В .Net примерно так:

  typeName = [class | record]
      class operator conversionOp(a: type): resultType;
      class operator unaryOp(a: type): resultType;
      class operator comparisonOp(a: type; b: type): Boolean;
      class operator binaryOp(a: type; b: type): resultType;
  end;

Подробнее - в справке.


 
}|{yk ©   (2004-12-08 19:28) [24]

Вопрос: а зачем эта перегрузка? Пользы от нее чуть, а проблем...


 
DiamondShark ©   (2004-12-08 19:43) [25]

Какая же ВЦ справка, блин...


 
vuk ©   (2004-12-08 19:44) [26]

to }|{yk ©   (08.12.04 19:28) [24]:
>а зачем эта перегрузка?
Перегрузка операторов - стандартная часть .net СLR. Зачем нужна, я думаю, и так понятно - для добавления пользовательским типам некоторых свойств встроенных в язык типов.


 
vuk ©   (2004-12-08 19:49) [27]

Прикол. писал предыдущее сообщение, по ошибке вместо ".net СLR" написал ".net SDK". Начинаю править, получается ".net СДК". Вот привязался... :o)


 
Petr V. Abramov ©   (2004-12-08 21:53) [28]

> ALL
> Захотите переползать на дельфи 2005 исправте все warning, т.к.
> многие из них становятся в новой версии синтаксическими
> ошибками.
 
 а исправьте все warning вне зависимости от того, куда Вы собираетесь переползать.
 Вот после года работы с одим очень хорошим мужиком (хоть он мог только советовать мне, как надо делать), я убедился, что это не так сложно - писать без warning, и даже без хинтов.

> Суслик ©
 Согласись, ни слова про клиент-сервер :))))


 
Gero ©   (2004-12-08 22:17) [29]

А как рефакторинг?
Удобно?
На демо-роликах борланд им очень хвасталась.


 
Игорь Шевченко ©   (2004-12-08 22:39) [30]

Gero ©   (08.12.04 22:17) [29]

Удобно, хотя из рефакторингов всего два - переименование и выделение метода. Остальные места, где встречается выделенный метод необходимо искать командой Visual Grep.
Но все равно удобно, по моему мнению.

С уважением,


 
Sandman25 ©   (2004-12-09 09:05) [31]

Неужели им трудно было взять рефакторинги из JBulder, не понимаю.


 
DiamondShark ©   (2004-12-09 11:04) [32]

"Рефакторинги" практически бесполезны.
Только на демо-роликах хвастаться и годятся.


 
Суслик ©   (2004-12-09 11:10) [33]


>  [32] DiamondShark ©   (09.12.04 11:04)

Можно вступить в твою партию? (я тоже не вижу смысл в рефакторингах).

==================================
Поговорив по телефону с Сергеем Орликом я выяснил, что с огромной вероятностью обозначенные мной баги являются следствием того, что у меня кривая версия и даже не триал (напомню, что я ее не качал сам - взял у приятеля), а вообще древняя бета или еще хуже.

Так что - снимаю свои "умные" мысли и жду, когда будет возможность изучить "правильный" триал.


 
jack128 ©   (2004-12-09 11:20) [34]

DiamondShark ©   (08.12.04 19:13) [21]
нее чуть

http://www.realcoding.net/article1885.html


 
wisekaa ©   (2004-12-09 11:21) [35]


> Суслик ©   (09.12.04 11:10)

Имею на руках, то о чем говорил в письме. Готов поделиться.


 
Суслик ©   (2004-12-09 11:23) [36]


> Имею на руках, то о чем говорил в письме. Готов поделиться.

Давай почтой
timoha6666(вау-вау)mail.ru


 
Delirium ©   (2004-12-09 11:30) [37]


> by ©   (08.12.04 18:22) [17]
> А ты для .Net используешь С# Builder, Delphi 2005, VisualStudio
> или что-то другое?


VisualStudio 2003 и C#, сейчас провожу эксперименты с C# Builder из Delphi 2005, но пока что-то что говорить о преимуществах или недостатках не буду, пока только одно - явного преимущества у Borland-а не нашёл.


 
wisekaa ©   (2004-12-09 11:30) [38]


> Суслик ©   (09.12.04 11:23)

ты издеваешься отправлять почтой dvd


 
Суслик ©   (2004-12-09 11:31) [39]


>  [38] wisekaa ©   (09.12.04 11:30)

да нет, договорится :)))


 
DiamondShark ©   (2004-12-09 14:05) [40]


> Суслик ©   (09.12.04 11:10) [33]
>
> >  [32] DiamondShark ©   (09.12.04 11:04)
>
> Можно вступить в твою партию? (я тоже не вижу смысл в рефакторингах).


На членских взносах разоришься ;)

Смысл-то в рефакторингах как-раз и был бы. Но реализация...
Сразу убило, что Extract method не работает внутри with. Почему? Из каких соображений? Если я правильно понял, то рефакторинги не просто тупо работают с текстом, а завязаны ещё и на компилятор. С чего вдруг такие проблемы?

Решил проверить на реальных примерах. Нашёл проект, писаный "пионЭром юным", который был мне передан на сопровождение и который я в своё время рефакторил вручную.
В первом же попавшемся модуле процедура, начинающаяся словами: with Table1 do begin..., и дальше кода на три экрана. Самое то для рефакторинга, ага? А вот индейская национальная народная изба.



Страницы: 1 2 вся ветка

Форум: "Потрепаться";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.56 MB
Время: 0.036 c
14-1102322607
Суслик
2004-12-06 11:43
2004.12.26
Delphi 2005


1-1102616677
Intr
2004-12-09 21:24
2004.12.26
Service Application


3-1101660393
midavik
2004-11-28 19:46
2004.12.26
Запись через параметр значение null в поле типа integer


3-1101232506
Fin
2004-11-23 20:55
2004.12.26
Формат даты


3-1101369676
Сергей Медведев
2004-11-25 11:01
2004.12.26
Права в FireBird





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский