Билдер умер, да здравствует Дельфи 2006!
Вот бы ему еще правильную реализацию .NET - может даже Вирту понравилось бы.
На сайте Борланда (не так?) давно появилось описание новой версии Дельфи. По сути, это полноценная студия для разработки сразу на нескольких языках программирования. По сравнению с предыдущей версией, Дельфи 2005, к Object Pascal и C# добавились C и C++. Но окончательный продукт, тем не менее, называется Дельфи! ;) Так держать!
Вот бы ему еще правильную реализацию .NET - может даже Вирту понравилось бы.
Млять.:(
Млять.:(
поддерживаю, млять :{
наверное VC++
На сайте Борланда (не так?) давно появилось описание новой версии Дельфи. По сути, это полноценная студия для разработки сразу на нескольких языках программирования. По сравнению с предыдущей версией, Дельфи 2005, к Object Pascal и C# добавились C и C++. Но окончательный продукт, тем не менее, называется Дельфи! ;) Так держать!
Вот бы ему еще правильную реализацию .NET - может даже Вирту понравилось бы.
А не BDS название? Впрочем хоть ж... с ручкой называется. Главное есть поддержка С/С++ и это хорошо.
А не BDS название? Впрочем хоть ж... с ручкой называется. Главное есть поддержка С/С++ и это хорошо.
так в том то и дело, что это уже не отдельный продукт - Builder, а есть только поддержка. Где-то читал, может даже здесь, слухи о том, что они с microsoft договорились, типа тебе дельфи а нам VC!
На сайте Борланда (не так?) давно появилось описание новой версии Дельфи. По сути, это полноценная студия для разработки сразу на нескольких языках программирования. По сравнению с предыдущей версией, Дельфи 2005, к Object Pascal и C# добавились C и C++. Но окончательный продукт, тем не менее, называется Дельфи! ;) Так держать!
Вот бы ему еще правильную реализацию .NET - может даже Вирту понравилось бы.
Мне пофиг. VC рулит :)
Accelerate Mission-Critical C++ Development
Borland C++Builder 2006, the ultimate C++ IDE for Microsoft® Windows®
For the professional C++ developer who demands reliable, high-performance applications, this is the IDE you’ve been waiting for! C++Builder® 2006 updates and refines the popular C++Builder® IDE with the latest RAD and ALM features for mission-critical C and C++ development. Develop robust GUI, Database, and Web applications in record time with WYSIWYG Web Application Development, powerful new data providers, the latest IDE productivity features, and seamless IDE integration with version control, bug tracking, and team collaboration. Leverage a wide variety of 3rd party components with the latest Visual Component Library (VCL). Part of Borland Developer Studio, C++Builder 2006 also includes complete support for Web, database, and GUI development using C, C++, C#, Delphi Win32 and Delphi .NET.
Cледовательно тему топика надо помять на "Builder развивается и далее" :)
Паскаль САКС.
Мне пофиг. VC рулит :)
Эта какашка (в частности VC7) даже не всегда собственные примеры компилит.
Билдер рулит!
Эта какашка (в частности VC7) даже не всегда собственные примеры компилит.
А что выдает в качестве ошибки?
Билдер рулит!
Ага, особенно когда я пишу прогу на VC и в итоге получаю 10 Кб, и компилирую ту же прогу в билдере и получаю 445 Кб. Безусловно - РУЛИТ!!!
Ага, особенно когда я пишу прогу на VC и в итоге получаю 10 Кб, и компилирую ту же прогу в билдере и получаю 445 Кб. Безусловно - РУЛИТ!!!
Разве это имеет принципиальное значение, в то время как мощности компьютеров растут так быстро на современном этапе? Наверное, сейчас главное это скорость разработки. Быстро сделать и продать. :)
А что выдает в качестве ошибки?
Да чачу всякую: - то не могу, это не найти:)
Вообщем Я просто переношу на Билдер и все.
Ага, особенно когда я пишу прогу на VC и в итоге получаю 10 Кб, и компилирую ту же прогу в билдере и получаю 445 Кб. Безусловно - РУЛИТ!!!
Эх наивный...
А заглянуть в System не судьба. Сколько там библиотек мелкосовтовских валяется? Посчитал? А объемы? Причем даже если VC на этой машине и в помине не было, начиная с W98 они в составе системы. Как они тебя обманули...
Другой момент - если Ты любитель пое... не используй VCL. Кто запрещает? Есть АПИ, MFC, ATL и прочие либы.
И третий - ну давай Я тебе на Билдере на 4 кб напишу, а?
Ладно VC тоже хороший - на запчасти, Я оттуда код ковыряю:)
Ладно VC тоже хороший - на запчасти, Я оттуда код ковыряю:)
Гы гы гы))))
Да чачу всякую: - то не могу, это не найти:)
Вообщем Я просто переношу на Билдер и все.
Ага, а линкер если попробовать настроить? ;)
Эх наивный...
Не настолько, на сколько тебе кажется.
А заглянуть в System не судьба. Сколько там библиотек мелкосовтовских валяется? Посчитал? А объемы?
Знаешь, заглядывал и не раз и на msdn.com написано, какая ф-ция из какой либы грузится. Читаю внимательно данные пункты. Вопрос в другом - что мешает билдеру юзать те же либы? Он их юзает, но + к этому пихает немеряно всякого г-на в исполняемый файл.
Другой момент - если Ты любитель пое... не используй VCL. Кто запрещает? Есть АПИ, MFC, ATL и прочие либы.
Спасибо, что просвятил :)
Если на то пошло, то пока использование мною VC ограничивается исключительно АПИ. Для моих задач пока хватает этого.
И один и тот же код на АПИ в билдере и VC занимает совершенно разный объем.
И третий - ну давай Я тебе на Билдере на 4 кб напишу, а?
Давай! Только я примерно знаю как это делается, сам когда-то был ярым сторонником билдера и пробовал данное сделать. Делал, только это делается мягко говоря через жопу. Помоему на этом форуме даже пример где-то есть, или ссылка.
Жду кода на 4 кб. Потом выложу аналог на VC. Практически уверен, что размер будет меньше, т.к. сам когда-то проверял.
ЗЫ И давай еще сравним скорость запуска самого билдера и VC. Уже говорит за качество, пусть и не значительно.
Разве это имеет принципиальное значение, в то время как мощности компьютеров растут так быстро на современном этапе?
Не учитываешь многих факторов. Одинаковый код на VC и билдере занимает совершенно разные ресурсы. Во первых, если прога распространяется через инет, то как ты думаешь, есть ли разница в ее объеме? Мегабайт качать, или 50 килобайт? Во вторых - памяти прога на VC жрет в полтора-два раза меньше чем аналог на билдере. В третьих, если прога занимает мегабайт, или 50 кб, то как ты думаешь, с какими прогами легче манипулировать диспетчеру памяти? По мегабайту, или по десяткам килобайт? И как это сказывается на общей производительности ОС? Ладно, если большая прога одна, а если их 10? 20?
GIZMO можешь не рассказывать о том, что маленькие проги юзают либы из system. Подавляющее большинство этих либ постоянно висит в памяти, следовательно загружается только exe-файл.
Быстро сделать и продать
Если бы ты не была девушкой, то я бы не удержался :) А так, только из уважения к прекрасному полу промолчу.
Конечно можно делать и так, но этот подход хорош если ты делаешь кому-нибудь диплом или курсовой.
Если от этого в последствии зависит твоя работа, и время, которое ты тратишь на рутинну, то начинаешь думать по другому.
Да прав ты во всем, и не дискутируй ты с этими ламерами. Бесполезно. Зомби оно и есть зомби. Хотя к сожалению и претендует на собственное мнение. Студенты.
Ну, вот и оскорбления пошли. Я работаю в Builder, получаю устраивающую меня зарплату и всем довольна. Ну а если я не знаю более тяжелого в освоении VC, то пусть это будет моим зомбированием и ламерством, оно мне не мешает.
очередная религиозная война... сколько раз уже начинали их на разных форумах... не договоритесь и никого не убедите - такова уж селяви
Да прав ты во всем, и не дискутируй ты с этими ламерами. Бесполезно. Зомби оно и есть зомби. Хотя к сожалению и претендует на собственное мнение. Студенты.
А вот это ты зря! Не уважаю такой подход к оппонентам, которые к тому же ничего нелицеприятного тебе не сказали.
lena_ki, не обращай внимания :), что ты собственно и делаешь.
А на счет освоения VC, так я сам не мастак в нем. Только начинаю можно сказать. Да для Win API в самом VC много соображать и не нужно.
да хорош!
очередная религиозная война... сколько раз уже начинали их на разных форумах... не договоритесь и никого не убедите - такова уж селяви
Ага, ибо нефиг! Мне просто сегодня конкретно делать нечего.
На работу требуется программист.
Требование: Знание Дельфи. В итоге человек должен владеть паскалем и сями:)))
Требование: Знание Дельфи. В итоге человек должен владеть паскалем и сями:)))
Хочешь выдать за прикол? Не получится. Как правило, все сегодняшние профессиональные дельфисты (пишущие на Паскале, разумеется), знают Си в пределах чтения примеров в MSDN. Просто писать на нем не хотят... По разным причинам.
И что получается?
На работу требуется программист.
Требование: Знание Дельфи. В итоге человек должен владеть паскалем и сями:)))
ну это вряд ли - еще немало времени пройдет пока Дельфи перестанет ассоциироваться только с паскалем.
Да прав ты во всем, и не дискутируй ты с этими ламерами. Бесполезно. Зомби оно и есть зомби. Хотя к сожалению и претендует на собственное мнение. Студенты.
Это кто же у нас такой умный? А хостить WebBrowser Control не умеет, ну а научить контейнер обрабатывать DISPID_AMBIENT_DLCONTROL так это вообще для него "нетривиальная" задача. Нет, чтобы "профессионально" подойти к делу - почитать документацию он шлет один и тотже вопрос во все форумы напр. сюда:
http://forum.sources.ru/index.php?showtopic=116957
и сюда:
http://forum.codenet.ru/showthread.php?s=&threadid=26378
и т.д.
... и никто не отвечает, а начальник-то ждет ...
Вот это методы работы, как тебя еще не уволили? Для справки ламеры приручяют WebBrowser за пол-часа, а клоуны случайно находят чужой код в инете(скажи спасибо Green-у). Может тебе в цирк пойти работать, а?
Ага, а линкер если попробовать настроить? ;)
Можно, но Билдер это делает сам. Мелочь, а приятно.
Не настолько, на сколько тебе кажется.
Знаешь, заглядывал и не раз и на msdn.com написано, какая ф-ция из какой либы грузится. Читаю внимательно данные пункты. Вопрос в другом - что мешает билдеру юзать те же либы?
Ты про, что? Я говорю про библиотеки периода выполнения, классов и т.п. типа msvcrХХ.dll, mfcХХ.dll.
Он их юзает, но + к этому пихает немеряно всякого г-на в исполняемый файл.
Стартовый код (о котором Ты наверное и не подозреваешь) выполняет многие полезные вещи, создает и инициализирует глоб. переменные напр.
или сравни:
#include <stdio.h>
BOOL DisplaySystemVersion()
{
OSVERSIONINFOEX osvi;
BOOL bOsVersionInfoEx;
// Try calling GetVersionEx using the OSVERSIONINFOEX structure.
// If that fails, try using the OSVERSIONINFO structure.
ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
if( !(bOsVersionInfoEx = GetVersionEx ((OSVERSIONINFO *) &osvi)) )
{
// If OSVERSIONINFOEX doesn't work, try OSVERSIONINFO.
osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFO);
if (! GetVersionEx ( (OSVERSIONINFO *) &osvi) )
return FALSE;
}
switch (osvi.dwPlatformId)
{
// Tests for Windows NT product family.
case VER_PLATFORM_WIN32_NT:
// Test for the product.
if ( osvi.dwMajorVersion <= 4 )
printf("Microsoft Windows NT ");
if ( osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 0 )
printf ("Microsoft Windows 2000 ");
if( bOsVersionInfoEx ) // Use information from GetVersionEx.
{
// Test for the workstation type.
if ( osvi.wProductType == VER_NT_WORKSTATION )
{
if ( osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 1 )
printf ("Microsoft Windows XP ");
if( osvi.wSuiteMask & VER_SUITE_PERSONAL )
printf ( "Home Edition " );
else
printf ( "Professional " );
}
// Test for the server type.
else if ( osvi.wProductType == VER_NT_SERVER )
{
if ( osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 1 )
printf ("Microsoft Windows .NET ");
if( osvi.wSuiteMask & VER_SUITE_DATACENTER )
printf ( "DataCenter Server " );
else if( osvi.wSuiteMask & VER_SUITE_ENTERPRISE )
if( osvi.dwMajorVersion == 4 )
printf ("Advanced Server " );
else
printf ( "Enterprise Server " );
else if ( osvi.wSuiteMask == VER_SUITE_BLADE )
printf ( "Web Server " );
else
printf ( "Server " );
}
}
else // Use the registry on early versions of Windows NT.
{
HKEY hKey;
char szProductType[80];
DWORD dwBufLen;
RegOpenKeyEx( HKEY_LOCAL_MACHINE,
"SYSTEM\\CurrentControlSet\\Control\\ProductOptions",
0, KEY_QUERY_VALUE, &hKey );
RegQueryValueEx( hKey, "ProductType", NULL, NULL,
(LPBYTE) szProductType, &dwBufLen);
RegCloseKey( hKey );
if ( lstrcmpi( "WINNT", szProductType) == 0 )
printf( "Professional " );
if ( lstrcmpi( "LANMANNT", szProductType) == 0 )
printf( "Server " );
if ( lstrcmpi( "SERVERNT", szProductType) == 0 )
printf( "Advanced Server " );
}
// Display version, service pack (if any), and build number.
if ( osvi.dwMajorVersion <= 4 )
{
printf ("version %d.%d %s (Build %d)\n",
osvi.dwMajorVersion,
osvi.dwMinorVersion,
osvi.szCSDVersion,
osvi.dwBuildNumber & 0xFFFF);
}
else
{
printf ("%s (Build %d)\n",
osvi.szCSDVersion,
osvi.dwBuildNumber & 0xFFFF);
}
break;
// Test for the Windows 95 product family.
case VER_PLATFORM_WIN32_WINDOWS:
if (osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 0)
{
printf ("Microsoft Windows 95 ");
if ( osvi.szCSDVersion[1] == 'C' || osvi.szCSDVersion[1] == 'B' )
printf("OSR2 " );
}
if (osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 10)
{
printf ("Microsoft Windows 98 ");
if ( osvi.szCSDVersion[1] == 'A' )
printf("SE " );
}
if (osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 90)
{
printf ("Microsoft Windows Millennium Edition ");
}
break;
}
return TRUE;
}
И чем удобней пользоваться? Есть еще Screen, Languages, HintWindowClass и т.д. Т.е. запомни никто просто так к .ехе лишние байты не приписывает. Или Ты думаешь, что в Борланде одни идиоты работают?
Спасибо, что просвятил :)
Если на то пошло, то пока использование мною VC ограничивается исключительно АПИ. Для моих задач пока хватает этого.
И один и тот же код на АПИ в билдере и VC занимает совершенно разный объем.
Если грамотно настроить проект, то не такая уж большая разница будет.
Давай! Только я примерно знаю как это делается, сам когда-то был ярым сторонником билдера и пробовал данное сделать. Делал, только это делается мягко говоря через жопу. Помоему на этом форуме даже пример где-то есть, или ссылка.
Жду кода на 4 кб. Потом выложу аналог на VC. Практически уверен, что размер будет меньше, т.к. сам когда-то проверял.
Ну если знаешь, тогда прочитай еще раз и не пиши глупости:
http://www.codenet.ru/progr/bcb/small.php
твое право если Ты такой умный подмени стартовый код. Гы: - размер имеет значение!
Если бы ты не была девушкой, то я бы не удержался :) А так, только из уважения к прекрасному полу промолчу.
Не ко мне, но Ты уж помолчи.
Разве это имеет принципиальное значение, в то время как мощности компьютеров растут так быстро на современном этапе? Наверное, сейчас главное это скорость разработки. Быстро сделать и продать. :)
"Женщину не обманешь, она сердцем чувствует".
(С) братва Вайнеры.
Можно, но Билдер это делает сам. Мелочь, а приятно.
:) Продолжаем бессмысленную войну в которой оба делаем ошибки.
Если грамотно настроить проект, то не такая уж большая разница будет.
Ну? Где? Кто-то что-то тут обещал ;)
Ну если знаешь, тогда прочитай еще раз и не пиши глупости:
http://www.codenet.ru/progr/bcb/small.php
твое право если Ты такой умный подмени стартовый код. Гы: - размер имеет значение!
Ты сам написал офигенную глупость! Хоть пробовал сделать в билдере все так, как написано в этой статье? :) Попробуй - это директивы для вижла, я без понятия почему статья так называется. Комментарии к статье хоть бы почитал что ли... Кстати и на вижле можно покрасивее сделать то, что там описано:
#pragma comment(linker,"/NODEFAULTLIB")
Можно спокойно обойтись без первой директивы да так, что бы компилировалась и отладочная и релиз версии без каких либо дополнительных условных директив.
Вторая - вообще глупость какая-то. Она что есть, что нет. Не понимаю ее смысла в данном контексте.
Я не эту статью имел ввиду. На билдере можно сделать маленькую прогу, но еще раз повторю - это через ж...пу.
Не ко мне, но Ты уж помолчи.
Не к тебе, ты и не лезь.
ЗЫ Спасибо за выложенный код. Как раз к спеху - не придется самому кодить :)
Ты про, что? Я говорю про библиотеки периода выполнения, классов и т.п. типа msvcrХХ.dll, mfcХХ.dll.
mfcХХ.dll - подключается лишь при использовании MFC, если не задана статическая прилинковка.
msvcrХХ.dll - подключение поумолчанию отключено, подключается в настройках проекта при необходимости в мультитредовом режиме.
Т.е. запомни никто просто так к .ехе лишние байты не приписывает.
К сожалению, приписывает любой компилятор и линковщик. Это касаемо как различных выравниваний секций, так и некоторой доп. информации, для выбрасывания которой в некоторых случаях используются утилиты типа strip.
Кстати и на вижле можно покрасивее сделать то, что там описано:
#pragma comment(linker,"/NODEFAULTLIB")
Можно спокойно обойтись без первой директивы да так, что бы компилировалась и отладочная и релиз версии без каких либо дополнительных условных директив.
Вторая - вообще глупость какая-то. Она что есть, что нет. Не понимаю ее смысла в данном контексте.
Первая директива (кстати это не "условная директива") служит для определения точки входа, без этого при наличии второй директивы ничего не построится.
Вторая директива гарантированно отключает startup код.
Если ты обладаешь сокральными данными, как это сделать иначе, поделись, плз.
Первая директива (кстати это не "условная директива") служит для определения точки входа, без этого при наличии второй директивы ничего не построится.
Вторая директива гарантированно отключает startup код.
Блин, Green, я хоть и дрова в VC, но не настолько. Это я прекрасно знаю и понимаю. Особенно то, что это не условная директива :)
А про startup - я еще раз повторяю, она ничего абсолютно не дает. Во всяком случае на VC 6.0. Если писать на чистом api.
Вопрос к тебе - ты пытался на VC скомилить этот код?
Если ты обладаешь сокральными данными, как это сделать иначе, поделись, плз.
Про первую директиву - я немого лажанулся :) Не без нее, но использовать ее по другому.
Обязатеьно раскрою сокральные данные, только ты сперва ответь на мой вопрос.
:)
Ну? Где? Кто-то что-то тут обещал ;)
т.е. на понт берешь:)
:)
Ты сам написал офигенную глупость! Хоть пробовал сделать в билдере все так, как написано в этой статье? :) Попробуй - это директивы для вижла, я без понятия почему статья так называется. Комментарии к статье хоть бы почитал что ли...
В каком месте Я написал глупость? Покажи пальцем. Статью не читал и комментарии тоже Я и так умный. См. аттач.
:)
Я не эту статью имел ввиду. На билдере можно сделать маленькую прогу, но еще раз повторю - это через ж...пу.
Почему через жопу? Если Ты не понимаешь как работает среда, компиллятор, линкер e.t.c. и из чего собирается программа это твои проблемы. Код a+b не станет меньше если его откомпилить в VC, а не в BCB.
т.е. на понт берешь:)
блин аттач забыл...
Про первую директиву - я немого лажанулся :)
да, причем дважды:)
да, причем дважды:)
Интересно, а где второй раз? Ты не понял наверное, зачем нужны условные директивы? А они в том коде действительно нужны. Не понимаешь о чем разговор, не разглагольствуй. Попробуй ради прикола собрать этот код. И подумай, что там не так?
блин аттач забыл...
Герой! Приду домой - это будет часов в 9 - 10, соберу твой код в VC. Сравнишь сам :)
Когда я говорил про то, что делается это через ж..., то имел ввиду stub.asm. Без него не выйдет, ведь так? А на VC для этого достаточно пары строк в главном файле. И вот теперь скажи, что в VC больше гемора чем в билдере.
К сожалению, приписывает любой компилятор и линковщик. Это касаемо как различных выравниваний секций, так и некоторой доп. информации, для выбрасывания которой в некоторых случаях используются утилиты типа strip.
Ну не на порядок же это размер увеличивает? Потом выравнивание и разл. инфа (в т.ч. и отладочная) отключается(регулируется) настройками. Вообщем Я хотел показать человеку откуда основной объем ехе берется в BCB, но Сам видишь до него не достучатся.
Интересно, а где второй раз? Ты не понял наверное, зачем нужны условные директивы? А они в том коде действительно нужны. Не понимаешь о чем разговор, не разглагольствуй. Попробуй ради прикола собрать этот код. И подумай, что там не так?
1. Я как раз понял зачем нужны:
#pragma comment(linker,"/ENTRY:New_WinMain")
#pragma comment(linker,"/NODEFAULTLIB")
но Green меня опередил и
2. что они неусловные...
= дважды
1. Я как раз понял зачем нужны:
#pragma comment(linker,"/ENTRY:New_WinMain")
#pragma comment(linker,"/NODEFAULTLIB")
но Green меня опередил и
2. что они неусловные...
= дважды
Ё-ё-ё-ё-ё... Перечитай винмательно мой пост!
Если не поймешь который, то спроси, растолкую.