|
|
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Еще бы и меню сделали объектным ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2004, 12:46 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Как я понял, основные изменения коснутся генератора отчётов. Высказывание типа "люди будут сходить с ума от его новых возможностей" внушает... А фраза о том, что генератор отчётов в девятке будет напоминать настольную издательскую систему? Может, кто поделится, чего там ещё нового, в VFP 9? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2004, 13:30 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Еще бы грид сделали нормальный... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2004, 13:49 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
2Crip авторЕще бы грид сделали нормальный... Не знаю меня лично устраивает за исключением кривых scrollbar'ов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2004, 14:01 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
2Grip Ага, как Microsoft Hierarchical FlexGrid ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2004, 14:20 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
2piva Согласен что это не самое страшное, но все же кроме репортера фоксу не хватает именно крутого грида, чтобы считаться полнофункциональным dbtool. Тут он мог бы вполне уделать Power Builder... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2004, 14:23 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
2Crip Пользуюсь что есть Можно использовать крутой ActiveX Grid - это уже смотря по конкретной постановке и запросам заказчика. Ну тажы будем ждать VFP 10 :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2004, 14:29 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
2piva Дык и вместо генератора отчетов можно использовать , например, Crystal Reports. Я вот начал использовать и вполне все прилично. Написал класс для передачи параметров и конвертации курсора в оторванный ADO рекордсет и все летает... Вообще мне кажется, что главное не на чем писать , а как , что и в какие сроки. А все эти околопрограммистские разговоры про. что там маздай, чистой воды профанация... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2004, 14:41 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
2Crip - абсолютно согласен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2004, 14:55 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
cripНаписал класс для передачи параметров и конвертации курсора в оторванный ADO рекордсет и все летает... А нельзя немного поподробнее об этом? - какой источник данных для курсора - SQL сервер или VFP? - где находятся данные в глобальной или локальной сети? Спасибо за ответ. А то я что-то посмотрел на проблемы с обработкой ошибок и все написал по - старинке (передать данные, принять данные... try... catch и если неуспешно, то откат транзакции)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2004, 22:50 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
А в report мне не нравилось только две вещи: - отсутствие увеличения более 100% - отсутствии прямого вывода в MS Office... Но я так и не понял, будет ли это в 9 версии или нет :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2004, 22:51 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
2Crip > Еще бы грид сделали нормальный... Можете тебе еще и multithreading, и полную поддержку SQL? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2004, 08:22 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
2NNN NNNМожете тебе еще и multithreading, и полную поддержку SQL? А можно и мне ? Только еще к поддержке SQL и сервер как оракл ну или mssql ? :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2004, 09:46 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Если бы версии выходили пореже - то и ошибок в них было б поменьше... Полагаю при переходе придется - таки переписать часть модулей без улучшения их функциональности, а так только что б работали... Эдакий бег по кругу... А чего реально хочется??? Все программы имеют - меню, справочники, импорт в Office, экспорт из Offica... отчеты... и где готовые VFP-классы с поддержкой этого? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2004, 05:43 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Меню, грид, репорт... Нашли проблемы, блин. Главная проблема - это то, что VFP.Net'а нет и не будет. И курсоров в дотнете нет и не будет. Переучиваться, братцы, придется. И при этом работа с таблицами в дотнете - дерьмо, но фоксу вне дотнета не выжить к сожалению. И в до-дотнетовую эру его популярность была крайне низка, а после того, как все языки кроме фокса в дотнет убежали - ему совсем хана придет. ИМХО ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 16:41 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
2Sergey_Ch По поводу Crystal Reports.Беру текущий курсор. Сохраняю во временную таблицу. Коннекчусь через vfpoledb. Получаю оторванный рекордсет. Есть одно ограничение надо следить чтобы названия полей были не более 10 символов и то можно обойти создавая временную DBC 2Ex-VFPUser Да хоть сейчас можно писать на C# . Только задач таких нет, все пока фоксяра покрывает. Приходится ограничиваться баловством... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 17:02 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Наконец-то всё стало понятно!!! Все кутаемся в белые простыни и идём на кладбище... Хотя, пока дойдём - а дотнета уже и нету!? Что-то там Билли приготовил к 2006 году? И почему такой пессимизьм? Вам же дали CursorAdapter. А так же функции для работы с XML. Чего ещё надо-то? NameSpace для красивой жизни? Помните: лучшее - враг хорошего! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 17:03 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
To: Crip OK, thank you very much, indeed... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 21:13 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
2 Вячеслав Клепинин > Что-то там Билли приготовил к 2006 году? И почему такой пессимизьм? ... Чего ещё надо-то? Вот тут прочитай (в принципе достаточно первой фразы) http://www.ondotnet.com/pub/a/dotnet/2003/11/24/longhorn_01.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 23:59 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
to NNN: Позволю себе привести фрагмент из анекдота, опубликованного в одном из посвящённых фоксу форумов: Код: plaintext 1. 2. 3. 4. А почему новая придумка Билли называется "Длинный гудок"? Чтобы, пока он звучит, пользователи не заметили, как очередной раз очистили их карманы? to Ex-VFPUser: Не переживайте за фокс. Он почти в два раза старше винда и до сих пор жив. Как и незабвенный и всемогущий "С", несмотря на появление жабы, пережившей мутацию и ставшей сидиезом. В нашем большом мире места всем хватит. P.S. 1. Для продвинутых: к началу девяностых годов в мире существовало порядка 2500 языков программирования. Но в массовом употреблении было чуть больше десятка. И Fox уже тогда был в их числе. 2. Кроме всеми обожаемого винда, есть ещё и другие... 3. и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2004, 09:26 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
2 Вячеслав Клепинин > А почему новая придумка Билли называется "Длинный гудок"? В других вариантах "длинный рог". Но смысл не меняется, если фокс не будет компилировать в WinFX, то он с распространением лонгхорна, ему ничего в этой жизни не светит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2004, 10:45 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
А я дурак думал что LongHorn - это "длинная дудка" Но по поводу фокса - думаю что не бросит нас microsoft Как-нибудь через зад прикрутят Только жаль что через зад ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2004, 10:54 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Уж лучше пожалейте тех, кто пришет на VB. Им то в VB.NET совсем тяжко, так раньше всё хорошо было, а теперь только ошмётки от былого... А зарплаты-то у них повыше будут (по крайней мере, в Питере), и все они норовят с базами данных работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2004, 16:28 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Во ! Только что предложили написать свою фоксу для .NET на C# сообща OpenSource - и вперед и никакого трагизма по поводу перехода на WinFX и передова фокса под .Net ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2004, 16:59 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Согласен с сомневающимися. Хотя, вообще-то, надо сказать, что подо все новые фичи Longhorn не будет заточена даже доводимая сейчас до ума Visual Studio 2005 (Whidbey). MS собирается это сделать только аж в следующей за Whidbey версии VS.Net под кодовым названием Orcas. Так что у MS у самой с этим пока не супер. Однако почему-то в VS.Net для этого широкомасштабные движения производятся, а в VFP стоит на месте. Тишина... Ни инфы на сайте, ни пресс-релизов, ни даже слухов - ничего... Перспективы фокса все туманнее и туманнее. Особенно учитывая молчание о них самой MS. В Visual Studio 2005 обещана теснейшая интеграция с SQL Server 2005 (Yukon) вплоть до того, что можно будет писать хранимые процедуры на дотнетовских языках. Фокс потеряет один из главных своих козырей - один и тот же язык для манипулирования данными и для разработки GUI. Учитывая, что Yukon так же будет иметь бесплатную версию, я вообще не знаю какая теперь у фокса будет ниша ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2004, 12:51 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Some Changes in VFP 9.0: End User UI Rotate a label AutoComplete entries in text boxes Developer Productivity Create arrays with greater than 65k elements Have greater than 128 DO nesting levels Data Enhancements New data types: VarChar, VarBinary, BLOB New Binary Index type for DELETED() CAST() and ICASE() functions Report Designer architecture that is open and extensible Custom Report Builder ability for processing of design-time events to rotate text or include a watermark, The multiple detail band capability etc. Improved zoom capabilities for Print Preview (10 - 500% ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2004, 14:30 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
А когда её выпустить собираются, хотяб бету? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2004, 14:34 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
2 Aijik Привет Игорь. Прогуляйся на www.pinpub.com в FoxTalk'е уже начали распевать деферамбы девятке и кой-што новенькое про комманды SQL есть. Пробная трехмесячная регистрация бесплатна. 2 1024 В начале июня (где-то 4-5) состоится конфа, где будут представлять девятку - до этого обещали выставить паблик бету для свободного скачивания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2004, 16:20 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Я начинаю переводить свой рабочий проект на dot NET вообще и C# в частности. Недавно смотрел VS 2005. Написал на ней первую прогу (достаточно серьезную), где опробовал все интересующие меня технологии. Сказать что VS2005 мне очень понравилась - ничего не сказать. Все просто супер. Язык безусловно очень мощный. Очень удобно использовать интерфейсы в программе, создавать мощные многопоточные приложения со сложной синхронизации потоков - достаточно просто и удобно. Работать с данными тоже очень удобно. Во многих местах - даже удобнее и проще и быстрее чем в Fox'е. Например источником данных может являться не только запрос с SQL сервера, но и объект или коллекция объектов. Нужно просто реализовать в своей коллекции определенный интерфейс. Еще касательно данных: грядет расширение C# - LinQ (DLinQ и XLinQ). По поводу Fox'а: Да язык простой и достаточно удобный, но совершенно не надежный. Сложные приложения, где часто создаються и разрушаються объекты - постоянно вылетают с ошибкой C5 (доступ к памяти), как ты их не пиши (нет возможности по настоящему контролировать их разрушение). Опять же нельзя реализовать многопоточность. О себе: Пишу на Fox'e 6 лет. Паралельно в Delphi. Никогда не писал серьезных приложений на C++ по причине его ущербности и МНИМОЙ объекто-ориентированности. C# совершенно другое дело. Обратите на него внимание. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2005, 12:42 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
А что частые слеты пошли? Вроде не было? Может тачки старые, глюкавые? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2005, 15:12 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
да вроде не пятница сёдня? VS 2005 вышел в начале ноября, за полтора месяца автор "написал первую прогу (достаточно серьезную)". Теперь у всех его юзверей стоит фреймворк NET 2 и всё летает и прекрасно работает. А, да, он ещё за полтора месяца это всё протестировал. ******** хорош свистеть 8) Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2005, 15:53 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
1024VS 2005 вышел в начале ноября, за полтора месяца автор "написал первую прогу (достаточно серьезную)". Теперь у всех его юзверей стоит фреймворк NET 2 и всё летает и прекрасно работает. А, да, он ещё за полтора месяца это всё протестировал. Вы прочитали мои мысли - я хотел аналогичное спросить у автора реплики ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2005, 16:12 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Krey... Никогда не писал серьезных приложений на C++ по причине его ущербности .... Интресное заявление... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2005, 16:14 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
автор VS 2005 вышел в начале ноября, за полтора месяца автор "написал первую прогу (достаточно серьезную)". Теперь у всех его юзверей стоит фреймворк NET 2 и всё летает и прекрасно работает. А, да, он ещё за полтора месяца это всё протестировал. ******** хорош свистеть Не дадо ерничать. Я полагаю что фразу построил правильно и вы меня поняли. Тем кто не понял поясняю: Я написал прогу для себя, что бы опробовать возможности C# 2.0 и комфортность разработки программ на этом языке. Серьезность этой проги заключаеться в технологиях которые использовались при написании. Тяжелые алгоритмы расчета рентабельности были обернуты в потоки выполняющиеся одновременно и использующие и изменяющие одни и теже данные. Т.е. тестировалась многопоточность и средства синхронизации потоков в dot Net Также была реализована библиотека классов и общих интерфейсов. И много чего еще, чего сейчас не вспомню. Для тех кто в танке: Возможность писать на dot Net 2.0 появилась этак на пол года раньше ноября. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2005, 17:46 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
2 Sergey Ch Имелась ввиду. 1. Его "натянутая на уши" ООП. Public поля вместо свойств с аксессорами доступа это ужасно. 2. Ужастно сложные и неудобные MFC,ATL 3. "Не удобный" с моей точки зрения интерфейс, куча incude в коде. 4. Натянутая на уши "визуальность" В общем те кто писал на Delphi меня сдесь прекрастно должны понять. В общем к VC++ у меня сразу как я его попробовал образовалась стойкая неприязнь за его неудобство и излишнюю трудоемкость. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2005, 18:02 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
БУГАГА ну так и писать надо - пол-года пробовал чёт писать на ц-диез. Понравилось. а через 6 лет - 6 лет писал на ц-диез, сделал (столько-то) проектов, (понравилось/непонравилось) Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2005, 18:14 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Ну в общем чувствую что у многих сложилось впечатление что писать проги на C# (произносится Си-шарп) долго. Это совершенно неверное впечатление. Писать можно достаточно быстро и самое главное удобно. Заслуга оболочки VS2005. Очень дельный Intelli Sence, сразу подставляет нужные слова, создает по требованию заглушки в коде, подсказывет форматы вызовов перегруженных методов. Много возможностей в самой оболочке, например использование стандартных или написание своих снипетов. В общем как и было заявлено MS'ом VS2005 экономит программеру кучу времени и снижает кол-во строк кода на несколько десятков процентов. Один из показателей: C# чуствителен к регистру, но я это почувствовал всего несколько раз, поскольку IS переформатировал строчки и блоки кода, а также заканчивал слова. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2005, 18:23 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
нехороший ты человек, угрюмый 8) ни у кого подобных мыслей не возникает. У меня есть на ц-диез что-то, на чём-то ещё есть. Одинаково примерно везде. Но сделать такое sqlstringconnect(h1,"Server=... sqlstringconnect(h2,"Server=... sqlexec(h1,"Select ...",t1) sqlexec(h2,"Select ...",t2) select ... from t1 join t2 on ... into cursor r1 select r1 browse nm=putfile(... copy to (nm) type xls в любой среде кроме вфп займёт очень-очень много кода Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2005, 18:36 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Я точно не угрюмый:). Просто мне не понравилась тема в которую заводили некоторые ответы на мой пост и я ощетинился :). Конкретно на этом примере ты прав. В VFP это можно сделать быстрее, чем на любом другом языке. Обобщая можно сказать, что на VFP быстрее чем на каком либо другом языке можно создать работающую версию приложения. Но вот то что с этим приложением происходит дальше в VFP мне никогда не нравилось. На определенном этапе развития приложения начинают сказываться недостатки FoxPro. В их число я вношу следующие: 1. Однопоточность. 2. Неполная власть над экземплярами объектов. (уничтожение объекта и то что должно быть методом в VFP обычно событие. Например Create. Отсутствие конструктора класса и.т.д.) 3. Можно написать класс как бы с 0 в prg, прописав в Create создание внутренних объектов, а в Destroy их уничтожение через Release, хранить в приложении ссылки на этот объект в нескольких местах, я так делал но... Приложение сыпется. Частенько совершенно в разных местах в разное время вылетает C5. Кроме того внутренние объекты тебе не показывает IntelliSence в designtime, а частенько и в runtime. Реально сложный объект, с множеством внутренних классов на Fox'е написать не получиться. 4. Fox слижком уж высокоуровневый для меня (это не недостаток а особенность). Многие вещи мне приходилось делать ActiveX'ом на Delphi. 5. Небогатая библиотека интерфейсных компонент (В 9 фоксе жить в принципе можно уже за счет полезных добавленных свойств на компоненты). В других средах я имею возможность написать интерфейсный компонент с 0 такой какой мне надо или переделать функциональность уже существующих. В Фоксе только один выход: Приобретать готовый ActiveX за деньги. 6. Достаточно медленное появление в FoxPro новых технологий в программировании. В общем VFP вполне хорош для своей ниши и только. Когда приложение уже работает и эксплуатируется часто (у меня постоянно) встает вопрос о его выдвижении на качаственно новый уровень. Интерфейс получше, логика по круче, опять же многопоточность. И тут приложение приходиться полностью переписывать на другом языке. ИМХО лучше затратить дополнителтное время в самом начале проекта на реализацию библиотеки классов приложения и базовой функциональности на должном уровне на таком языке как C#, чем "быстро" написать приложение на фоксе, а потом решать постоянно возникающие проблемы с недостатком функциональности. PS. Программируя в VS2005 я испытывал реальный кайф от мощи и удобства этого языка, чего никогда не испытывал кодя на Фоксе и что-то подобное давно испытывал программируя на Delphi PPS. По примеру: выбрать две таблицы с сервера, а затем уже на клиенте заджоинить их примерно таким же кол-вом строчек будет возможно в C# 3.0 с появлением LinQ. Коротко это расширение языка позволяет писать SQL для чего угодно не важно таблицы это на сервере или объекты в приложении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2005, 22:01 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Hi Krey! Ну ты и тенденциозен брат! Часом не маркетингом по жизни занимаешься? приложения, где часто создаються и разрушаються объекты - постоянно вылетают с ошибкой C5 (доступ к памяти), как ты их не пиши (нет возможности по настоящему контролировать их разрушение) 1) А у меня не вылетают! Странно, не правда ли :) Может в консерватории надо чего-то подправить :) 2) Механизм сборки мусора - ИМЕННО сборки мусора - ибо это в "старом добром" C++ идёт "удаление объектов" (а потом Access Violation при обращении по "дохлой" ссылке :) ) - в NET убиваются ссылки и "потом" уже работает код реально убивающий объекты - так вот ЭТО в VFP и в C# - близнецы-братья. Так что говорить о каких-то коренных отличиях - по меньшей мере непрофессионально :( Видимо ты не понял ещё этой фишки NET-а (что может быть), либо не понимаешь как работает фокс со ссылками и объектами (что странно если ты на нём 6 лет пишешь)... Опять же нельзя реализовать многопоточность Ну не упирается всё в многопоточность! Большинство аглоритмов по своей сути однопоточные, и не распараллеливаются, и "расщепив" их на кучу потоков, а потом вставив массу "синхронизирующего" кода, дабы алгоритм считал как положено, а не "летал в облаках" - мы никакого прироста скорости не получим - скорее наоборот. Кроме того на фоксе можно (пускай и не "напрямую", и с дополнительными компонентами и затратами) создать многопоточное приложение (если уж очень приспичит). Более того - ты возможно удивишься, но "внутри" фокс вовсе не однопоточен - это твой User Code в одном потоке исполняется - а сама среда их имеет несколько. Неполная власть над экземплярами объектов ... Отсутствие конструктора класа И конструктор у объектов в фоксе имеется, и деструктор, и проблем с использованием этих самых объектов никаких существенных нету... Да, не очень эффективно (из-за отсутствия типизации приходится все и вся хранить как Variant-ы, что весьма медленно и памяти много кушает), порой не совсем логично кажется (если иметь опыт программирования в других языках) - но ты явно не про те проблемы говоришь, которые реально имеются... Кроме того внутренние объекты тебе не показывает IntelliSence в designtime Чтобы показывали - они должны быть описаны как статические члены класса (ADD OBJECT ... AS или соответственно в vcx/scx прописаны на этапе разработки), а для переменных должен быть использован "типизированный" синтаксис с LOCAL .... AS ... А для "динамических" объектов - конечно не работает - откуда фоксу знать, какой объект ты добавишь (или НЕ добавишь) в этот класс во время исполнения! а частенько и в runtime Про какой такой IntelliSense в рантайм идёт речь? Очень любопытно было-бы услышать способы его реального применения! Небогатая библиотека интерфейсных компонент Можно подумать в NET сверхбогатый набор отличнейших компонент. То-то все разработчики повально уходят от встроенных контролов в сторону "сторонних" наборов компонент. Тоже, заметим, как правило небесплатных (если не воровать конечно, а покупать). В других средах я имею возможность написать интерфейсный компонент с 0 такой какой мне надо Блин, честное слово достали уже эти заклинания - да НЕ ПИШЕТ практически никто своих компонентов - такие возможности есть и в Delphi, и в C++ уже кучу времени, и в NET есть и в фоксе есть! Только почему-то те кто громче всего кричит о том что "среда супер, можно свои компоненты писать" - даже банальный текстбокс для своих нужд не пишут - а ищут всякие сторонние, которые "и то и это и пятое и десятое" делают. Я понимаю, что сама "возможность" душу греет - но какой от того прок, если не пользоваться? или переделать функциональность уже существующих Ещё менее вероятный сценарий - даже если удалось украсть исходники к компоненте, или скачать бесплатную - 99.9% программеров не полезут в этот код - отчасти из-за того что там попробуй ещё разберись :) А если говорить "вообще" - то в фоксе тоже можно писать свои компоненты, причём "переделать функциональность" во многих случаях можно гораздо проще и понятнее чем в том-же NET. В Фоксе только один выход: Приобретать готовый ActiveX за деньги. Просто смешно :) Без комментариев. Достаточно медленное появление в FoxPro новых технологий в программировании Ещё более смешно. Это про "сферических коней в вакууме", если кто не понял сразу :) Как в том анекдоте - "а я... а у меня... а я счас как дам по морде!" Давай, приведи хоть один пример "новой технологии в программировании" - ИМЕННО технологии, а не реализации какой-нить фишки, известной ещё 20-30 лет назад. Желательно именно для NET который такой весь из себя "прогрессивный". Никогда не писал серьезных приложений на C++ по причине его ущербности и МНИМОЙ объекто-ориентированности Извини, но после ТАКОГО заявления начинаешь с большим сомнением относится ко ВСЕМ твоим словам. Это значит язык, который большинство разработчиков считают "эталонной" реализацией ООП, на котором пишется подавляющее большинство примеров во всех книжках по ООП - и это он "мнимо ОО"! Мощно сказано :) Ужастно сложные и неудобные MFC,ATL Можно подумать что тебя заставляют их использовать ;) Вот мне в фоксе не нравятся "Ужастно сложные и неудобные" классы FFC - я их и не использую. Только глупо говорить про имеющуюся НО НЕОБЯЗАТЕЛЬНУЮ примочку СРЕДЫ - что это существенный недостаток ЯЗЫКА. Кстати ещё можно очень даже поспорить настолько ли они неудобны. "Не удобный" с моей точки зрения интерфейс, куча incude в коде. Натянутая на уши "визуальность" Ба, да уважаемый сэр не может отделить ЯЗЫК C++ от среды программирования MS VC++ ;) Честное слово - после этого создаётся впечатление, что вы не далее как вчера из-за студенческой скамьи встали... К сведению - существует большое число разнообразных компиляторов и сред разработки под C++ - в том числе и от так любимого вами Borland-а (хотя BCB это во многом извращённая реализация, но тем не менее рисовать на ней формочки методом "тыка" и "писать программы" не введя ни единой строки кода - это вполне возможно - и некоторые конечно так и делают). Серьезность этой проги заключаеться в технологиях которые использовались при написании Вот вот - соль не в том что сама прога хороша, а в том что "серьёзные технологии использовались" - гигантомания в действии - вместо того чтобы за 5 минут наваять на том-же фоксе примитивнейший но рабочий вариант "телефонного справочника", мы будем пол-года на NET писать "многопоточный", "распределённый", "объектный снаружи и изнутри" и т.п. А спрашивается ЗАЧЕМ? Нет ответа - просто технологии "неимоверно круты", а пальцы в дверь уже пройти мешают... Каждая задача может быть решена неисчислимым множеством способов - среди них будет очень много ущербных, медленных, неправильных... Будут и хорошие конечно, но даже среди них будут те которые минимально достаточны, и те которые невообразимо избыточны - вплоть до промышленных ERP систем, применяемых для "учёта скрепок"... Ты наверное тоже ERP систему написал :) Причём в одиночку, за пол-года, не имеющую никаких проблем, масштабируемую, идеально настраиваемую... В общем VFP вполне хорош для своей ниши и только ЛЮБАЯ среда "хороша для своей ниши" - писать какой-нить драйвер на фоксе так-же глупо как писать "персональный органайзер студента Пупкина" на NET, применяя в качестве СУБД Oracle или MS SQL... лучше затратить дополнителтное время в самом начале проекта на реализацию библиотеки классов приложения и базовой функциональности на должном уровне Золотые слова! Только отчего такой странный вывод то? Т.е. на фоксе я писать "правильно" не могу - обязательно налеплю абы как и абы чего - а вот на NET напротив - я не могу НЕправильно написать, сделав кучу бессмысленных классов, раскидав логику обработки данных по интерфейсу, использовав десяток идеологически разных подходов для выполнения по сути сходных задач... В общем из пальца высосанный и не соответствующий действительности вывод из общеизвестного факта. Насчёт LINQ - мы ещё посмотрим насколько он будет эффективен! Уже сейчас его "растаскивают" на кучу маленьких xLINQ-ов - один для XML, другой для работы с реляционными СУБД, третий для вообще "абстрактных" IEnumerable коллекций... И это понятно - потому что IEnumerable - это тупой перебор - и ни о какой эффективности данного метода даже речи идти не может! Оптимизаторы появились в СУБД дай бог уже сколько десятков лет назад - и до сих пор идёт их оттачивание и улучшение - а MS значится за пару лет создаст подобную технологию для объектных коллекций :) Даже учитывая число программистов работающих там, это не более чем благие помыслы - реально полезный LINQ ещё ой как долго ждать придётся - и боюсь что это будет уже далеко не сегодняшний NET к тому времени... Извиняюсь за многословность, но уже достают пустые псевдо-рекламные сообщения - вместо того чтобы показать реальные плюсы и минусы среды (уж коли поработал там), или реально рассказать что и как было применено, почему именно так, что это дало и чем это так замечательно - начинается какая-то пустая болтовня ни о чём и пальцегнутие... Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 03:22 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
автор1) А у меня не вылетают! Странно, не правда ли :) Может в консерватории надо чего-то подправить :) 2) Механизм сборки мусора - ИМЕННО сборки мусора - ибо это в "старом добром" C++ идёт "удаление объектов" (а потом Access Violation при обращении по "дохлой" ссылке :) ) - в NET убиваются ссылки и "потом" уже работает код реально убивающий объекты - так вот ЭТО в VFP и в C# - близнецы-братья. Так что говорить о каких-то коренных отличиях - по меньшей мере непрофессионально :( Видимо ты не понял ещё этой фишки NET-а (что может быть), либо не понимаешь как работает фокс со ссылками и объектами (что странно если ты на нём 6 лет пишешь)... Дело в привычке и в стиле программирования. Я знаю все или почти все про механизмы сборки мусора и доступ по nil указателям и то как этого избегать. И вообще про внутреннию кухню ПО. Паралельно с Фоксом я всегда програмил на делфи. И что характерно ни в делфи ни теперь в дот нет мои готовые и отлаженные программы никогда не вылетали с этой ошибкой. И в фоксе порядок создания и уничтожения объектов весь выверен и тем не менее вылетает. Живых ссылок нет но что то где то остаеться висеть. автор Опять же нельзя реализовать многопоточность Ну не упирается всё в многопоточность! Большинство аглоритмов по своей сути однопоточные, и не распараллеливаются, и "расщепив" их на кучу потоков, а потом вставив массу "синхронизирующего" кода, дабы алгоритм считал как положено, а не "летал в облаках" - мы никакого прироста скорости не получим - скорее наоборот. Совершенно верно. Большинстов алгоритмов трудно распаралелить. Но ведь ничего не должно мешать пользователю во время длительного запроса работать с какими либо другими функциями проекта. авторКроме того на фоксе можно (пускай и не "напрямую", и с дополнительными компонентами и затратами) создать многопоточное приложение (если уж очень приспичит). Я так и делаю. Создаю ком сервер на Delphi. авторБолее того - ты возможно удивишься, но "внутри" фокс вовсе не однопоточен - это твой User Code в одном потоке исполняется - а сама среда их имеет несколько. Вы меня за школьника принимаете? Конечно я не удивлюсь,ведь я всегда это знал. авторИ конструктор у объектов в фоксе имеется, и деструктор, и проблем с использованием этих самых объектов никаких существенных нету... Это где это интересно он имееться ?. Вы наверное очень удивитесь узнав что "методы" Init и Destroy по сути являються событиями. Помимо других ярко выраженных признаков что вы думаете должно произойти напиши я в конструкторе nodefault? Ладно Destroy еще куда ни шло можно принять за деструктор, но где конструктор? Init? неа, ведь Load вызываеться перед Init'ом. Load? тоже нет. Он ведь есть только у формы и формсета. Кроме того явно сказано что load это event. Внутренняя кухня объектов в Фоксе от програмера скрыта. Смиритесь с этим. Нельзя на фоксе сделать полнофункциональный контрол. Вы когданибудь пытались засунуть компоненты в ячейки грида? Наверняка пытались. Теперь вы понимаете что я хочу сказать?. Я засунул и впринципе можно пользоваться. Потрать я на это дело еще немного времени я бы дажа заставил контрол в ячейке ресайзиться не только в ширину но и в высоту при изменении размера ячейки. Но я к счастью вовремя понял что нормального, надежного интерфейса из этого дела получиться не может поскольку 3\4 функциональности объектов недоступна програмеру. авторДа, не очень эффективно (из-за отсутствия типизации приходится все и вся хранить как Variant-ы, что весьма медленно и памяти много кушает), порой не совсем логично кажется (если иметь опыт программирования в других языках) - но ты явно не про те проблемы говоришь, которые реально имеются... Держи пример: FlexGrid и вообще внешние компоненты пользовал?. Без хелпа ведь невозможно ничего с ними сделать потому что не ясен формат методов и свойств. И это на полностью реализованных компонентах с открытой TLB. авторЧтобы показывали - они должны быть описаны как статические члены класса (ADD OBJECT ... AS или соответственно в vcx/scx прописаны на этапе разработки), а для переменных должен быть использован "типизированный" синтаксис с LOCAL .... AS ... А для "динамических" объектов - конечно не работает - откуда фоксу знать, какой объект ты добавишь (или НЕ добавишь) в этот класс во время исполнения! Кроме того внутренние объекты тебе не показывает IntelliSence в designtime. Как ты интересно засовываешь своего потомка коллекции в объект в disigntime. Впрочем я давно не реализовывал классы в prg. Может там сейчас Local As и работает. Завтра проверю. авторПро какой такой IntelliSense в рантайм идёт речь? Очень любопытно было-бы услышать способы его реального применения! Я уже написал. Неизвестный ActiveX. авторНебогатая библиотека интерфейсных компонент Можно подумать в NET сверхбогатый набор отличнейших компонент. То-то все разработчики повально уходят от встроенных контролов в сторону "сторонних" наборов компонент. Тоже, заметим, как правило небесплатных (если не воровать конечно, а покупать). В других средах я имею возможность написать интерфейсный компонент с 0 такой какой мне надо авторБлин, честное слово достали уже эти заклинания - да НЕ ПИШЕТ практически никто своих компонентов - такие возможности есть и в Delphi, и в C++ уже кучу времени, и в NET есть и в фоксе есть! Только почему-то те кто громче всего кричит о том что "среда супер, можно свои компоненты писать" - даже банальный текстбокс для своих нужд не пишут - а ищут всякие сторонние, которые "и то и это и пятое и десятое" делают. Я понимаю, что сама "возможность" душу греет - но какой от того прок, если не пользоваться? Мне только это не рассазывай. Я никогда не буду платить за простой компонент 500 баксов, если это не на 100% то что мне нужно и ктому же это коряво работает. Недавно смотрел контролы от ComponentOne и иже с ними. Нормальное меню офисного Outlook не подскажешь откуда взять? Желательно баксов за 10, больше оно не стоит. авторили переделать функциональность уже существующих Ещё менее вероятный сценарий - даже если удалось украсть исходники к компоненте, или скачать бесплатную - 99.9% программеров не полезут в этот код - отчасти из-за того что там попробуй ещё разберись :) Тоже мне шпион. Про перехват событий и подмену оконных процедур ничего не слышал? авторА если говорить "вообще" - то в фоксе тоже можно писать свои компоненты, причём "переделать функциональность" во многих случаях можно гораздо проще и понятнее чем в том-же NET. Про грид помнишь? авторВ Фоксе только один выход: Приобретать готовый ActiveX за деньги. Просто смешно :) Без комментариев. Конкретно где смешно? Достаточно медленное появление в FoxPro новых технологий в программировании авторЕщё более смешно. Это про "сферических коней в вакууме", если кто не понял сразу :) Как в том анекдоте - "а я... а у меня... а я счас как дам по морде!" Давай, приведи хоть один пример "новой технологии в программировании" - ИМЕННО технологии, а не реализации какой-нить фишки, известной ещё 20-30 лет назад. Желательно именно для NET который такой весь из себя "прогрессивный". 1. Отсоединенные рекордсеты. 2. Интерфейсов в Фоксе есно никогда вообще не будет. При вашем желании завтра напишу еще. автор Никогда не писал серьезных приложений на C++ по причине его ущербности и МНИМОЙ объекто-ориентированности Извини, но после ТАКОГО заявления начинаешь с большим сомнением относится ко ВСЕМ твоим словам. Это значит язык, который большинство разработчиков считают "эталонной" реализацией ООП, на котором пишется подавляющее большинство примеров во всех книжках по ООП - и это он "мнимо ОО"! Мощно сказано :) А я всегда относился к слову "большинство" с большой настороженностью чего и вам советую. Про ущербность C++ спрашивать у сишников бесполезно. Спроси у дельфистов. Коротко сишники были бедными родственниками в ООП пока меньшинство несколько пятилеток програмило на делфи. Даже TurboVision в борландовсих Turbo C и Turbo Pascal была более объектно ориентированной. авторУжастно сложные и неудобные MFC,ATL Можно подумать что тебя заставляют их использовать ;) Вот мне в фоксе не нравятся "Ужастно сложные и неудобные" классы FFC - я их и не использую. Только глупо говорить про имеющуюся НО НЕОБЯЗАТЕЛЬНУЮ примочку СРЕДЫ - что это существенный недостаток ЯЗЫКА. Кстати ещё можно очень даже поспорить настолько ли они неудобны. С++ без этих библиотек и было бы большинство не MS C++ а Borland CBuilder :) Спорить можешь с MS. Они на каждом шагу кричат о том насколько они были неудобны. "Не удобный" с моей точки зрения интерфейс, куча incude в коде. Натянутая на уши "визуальность" авторБа, да уважаемый сэр не может отделить ЯЗЫК C++ от среды программирования MS VC++ ;) Честное слово - после этого создаётся впечатление, что вы не далее как вчера из-за студенческой скамьи встали... К сведению - существует большое число разнообразных компиляторов и сред разработки под C++ - в том числе и от так любимого вами Borland-а (хотя BCB это во многом извращённая реализация, но тем не менее рисовать на ней формочки методом "тыка" и "писать программы" не введя ни единой строки кода - это вполне возможно - и некоторые конечно так и делают). Жаль что вы сразу не поняли что я говорил про C++ от MS. Помоему все в моих словах на это указывало. Или нет. Привидите в пример мои строчки где могло бы показаться что я говорил про что-то иное. Например про CBuilder. Кстати подобный нравоучительный и унизительный тон выдает в вас подростка, или не доконца повзрослевшего взрослого. авторСерьезность этой проги заключаеться в технологиях которые использовались при написании Вот вот - соль не в том что сама прога хороша, а в том что "серьёзные технологии использовались" - гигантомания в действии - вместо того чтобы за 5 минут наваять на том-же фоксе примитивнейший но рабочий вариант "телефонного справочника", мы будем пол-года на NET писать "многопоточный", "распределённый", "объектный снаружи и изнутри" и т.п. А спрашивается ЗАЧЕМ? Вы опять извращаете мои слова. Перечитайте мои посты пожалуйста. Там вы увидите что я имел ввиду не блокнот а сложное с богатой функциональностью реально эксплуатирующееся на предприятии приложение. авторКаждая задача может быть решена неисчислимым множеством способов - среди них будет очень много ущербных, медленных, неправильных... Будут и хорошие конечно, но даже среди них будут те которые минимально достаточны, и те которые невообразимо избыточны - вплоть до промышленных ERP систем, применяемых для "учёта скрепок"... Ты наверное тоже ERP систему написал :) Причём в одиночку, за пол-года, не имеющую никаких проблем, масштабируемую, идеально настраиваемую... Речь шла просто об удобстве кодирования самых простых вещей. Обратите к примеру свое внимание на то как в VS2003+ используються интерфейсы и честно скажите вам бы не хотелось использовать их в своем коде? Если нет то вам срочно нужно переучиваться. авторлучше затратить дополнителтное время в самом начале проекта на реализацию библиотеки классов приложения и базовой функциональности на должном уровне Золотые слова! Только отчего такой странный вывод то? Т.е. на фоксе я писать "правильно" не могу - обязательно налеплю абы как и абы чего - а вот на NET напротив - я не могу НЕправильно написать, сделав кучу бессмысленных классов, раскидав логику обработки данных по интерфейсу, использовав десяток идеологически разных подходов для выполнения по сути сходных задач... В общем из пальца высосанный и не соответствующий действительности вывод из общеизвестного факта. Читайте выше мои посты про объекты. Или пример? Я сюда кидаю исходник моего класса на C# а ты делаешь аналог по удобству и функциональности в Fox'e. авторОптимизаторы появились в СУБД дай бог уже сколько десятков лет назад - и до сих пор идёт их оттачивание и улучшение - а MS значится за пару лет создаст подобную технологию для объектных коллекций :) Помните мы говорили про ниши?. Простой пример использования: Я сделал запрос к БД. После этого на этих данных покрутился сложный алгоритм расчета (не TSQL есно.) На выходе коллекция объектов. Мне надо этими объектами ограничить следующие выборки из БД. Мои действия сейчас? Клею из них XML отправляю на сервер, там парсю и вставляю в запрос. Никаких лишних действий сдесь не замечаете? авторИзвиняюсь за многословность, но уже достают пустые псевдо-рекламные сообщения - вместо того чтобы показать реальные плюсы и минусы среды (уж коли поработал там), или реально рассказать что и как было применено, почему именно так, что это дало и чем это так замечательно - начинается какая-то пустая болтовня ни о чём и пальцегнутие... Я написал словами недостатки VFP и достоинства C# для объемных проектов и нетолько. Вы не поняли. Это ваша боль. В чем претензии ко мне? Мне сюда выкинуть куски кода? нет проблем. Мало конкретики? тогда опять же вам нужен код? ГДЕ РЕКЛАМА?. PS. Если Вы не измените тон впредь я вас буду игнорировать. PPS to All. Я не рекламирую C# и не призываю всех срочно туда переходить. Если вы не забыли я сам пишу на Фоксе. Просто я хотел донести мысль о выгодах которые программер получает при кодинге на Дот Нет, которые выражаються в конце концов в мощном серьезном стабильном быстром и удобном для пользователя конечном продукте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 05:14 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
2Krey Ty eto, kod davay :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 07:16 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
2Krey IMHO Nekrasivo kak-to prikhodit' v gosti k radushnym hoziaevav i vo vremia obeda zayavit' chto mol obed vkusniy no gotoviat oni ego v otstoynyh kastriulyah. A nastoyashiy borshch mojno svarit' tol'ko v takih chornych s blestiashchimi kryshechkami. Ya vas tut vpervie vstretil, a te ludi, koroyh vi sobralis' ignorirovat' bol'she polutora tisyachi postov imeut i vse v temu. A vi ne s nashego sela i ne znaem my vas. Nravitsia vam rabotat' s dannymi cherez pen'-kolodu: collection of custom classes, XML, XML parsing, SQL server - good luck. Tol'ko vse eto stoit deneg (legal'no) plus ofigenny overhead (.NET framework - ofigenny COM server, BTW).Vi sortiruete custom collections? I kak, na kakikh objemakh mojno vichodit' pokurit'? To je s poiskom. Pri bol'shyh obemah dannykh custom collections eto "v serjoz i nadolgo". Datasety - prikol'no, no tiajelee chem cursory, a rabotaya s nimi uje nikakikh vygod OOP vy ne poluchite - prostoy conteyner dannykh. Vse fichi tipa "rowversion.current" i t.d - legko emuliruyutsa buferizatsiey, getfldstate(), setfldstate(). Vstroennya native XML serializatsiya? V Foxe toje. Otsoedinennye nabory dannyh - ne smeshyte. Fox davno ranotaet s cursorami, kotorye i est' otsoedinennymy i vsegda byli. Kidaete v XML - pasuete hot' na kulichki, vozvrashchaete nazad XMLUPDATEGRAM() ... Delay nekhochu. Da chtoby novie Foxovskie fichi izuichit' - paru let nado potratit'. Legche napisat' paru bezdelushek i posle kajdogo obloma iskrenne verit' cho eto Fox vinovat :)) Interfaces toje, mojno emulirovat' bilo by jelanie. Popadalis' mne na glaza stat'i s opisaniem. Glavnoe ruki normal'no zatochennye i golova na plechah. I ne budet Fox po C5 viletat'. :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 08:32 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Интересный диалог (если не обращать внимание на "неполиткорректность" некоторых высказываний :( ). У меня только одно замечание к .NET - ужасная скорость... Сравниваю на простом примере - работа EM для SQL 2000 и аналогичного инструмента (работающего под .NET 2.0) для SQL 2005. Красиво, слов нет, но какой ценой. Мои заказчики люди практичные и если перед ними стоит выбор "красиво" или не очень, но значительно "быстро", то они ВСЕГДА выбирают "быстро". Вот так. А что выбирают заказчики, то выбираю и я. Поэтому, пока я выбираю VFP. Да, сложное программирование, не все нормально с ООП, но чрезвычайно быстро работает с реляционными данными. Это мой выбор, но мне было интересно послушать и мнение уважаемого Krey. С уважением, Алексей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 08:59 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
IMHO Nekrasivo kak-to prikhodit' v gosti k radushnym hoziaevav i vo vremia obeda zayavit' chto mol obed vkusniy no gotoviat oni ego v otstoynyh kastriulyah. A nastoyashiy borshch mojno svarit' tol'ko v takih chornych s blestiashchimi kryshechkami. Ya vas tut vpervie vstretil, a te ludi, koroyh vi sobralis' ignorirovat' bol'she polutora tisyachi postov imeut i vse v temu. A vi ne s nashego sela i ne znaem my vas. Ну извините что наступил на больную мозоль. Что бы общаться нужно как минимум уметь выслушивать собеседника и отвечая не оскорблять его. Я себя не на помойке нашел поэтому не собираюсь вести диалог с теми кто не умеет общаться. Оскорблять и я могу не хуже других, но на форумах я себе этого никогда не позволял. Потому что на оскорбления в онлайн адекватно ответить не возможно (в реале можно в морду дать), а я не хочу что бы кто-то подумал что я прячусь за монитором. авторNravitsia vam rabotat' s dannymi cherez pen'-kolodu: collection of custom classes, XML, XML parsing, SQL server - good luck. Tol'ko vse eto stoit deneg (legal'no) plus ofigenny overhead (.NET framework - ofigenny COM server, BTW).Vi sortiruete custom collections? I kak, na kakikh objemakh mojno vichodit' pokurit'? To je s poiskom. Pri bol'shyh obemah dannykh custom collections eto "v serjoz i nadolgo". Большие объемы должны быть на сервере в виде реляционных таблиц, а не на клиенте. Здесь ничего не изменилось. авторOtsoedinennye nabory dannyh - ne smeshyte. Fox davno ranotaet s cursorami, kotorye i est' otsoedinennymy i vsegda byli. Kidaete v XML - pasuete hot' na kulichki, vozvrashchaete nazad XMLUPDATEGRAM() ... Пожалуй. авторDa chtoby novie Foxovskie fichi izuichit' - paru let nado potratit'. Legche napisat' paru bezdelushek i posle kajdogo obloma iskrenne verit' cho eto Fox vinovat :)) Не смешите про пару лет. Опять вы про безделушки. Надоело это коментировать. авторInterfaces toje, mojno emulirovat' bilo by jelanie. Popadalis' mne na glaza stat'i s opisaniem. Нельзя. авторGlavnoe ruki normal'no zatochennye i golova na plechah. I ne budet Fox po C5 viletat'. :)) Мог бы ответить, унизив тебя, но это не мой метод. А вообще я думаю что ошибся тредом. Вы не готовы к подобному диалогу. Что бы запросто взять и обсудить недостатки вашего (и моего) любимого Фокса и быть готовым принять тот факт что появляються новые, более удобные и мощные продукты, на которые стоит обратить свое внимание и возможно использовать их, нужно иметь здоровый взгляд на вещи, а не упираться руками и ногами в хороший, но уходящий продукт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 09:09 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
авторИнтересный диалог (если не обращать внимание на "неполиткорректность" некоторых высказываний :( ). У меня только одно замечание к .NET - ужасная скорость... Сравниваю на простом примере - работа EM для SQL 2000 и аналогичного инструмента (работающего под .NET 2.0) для SQL 2005. Красиво, слов нет, но какой ценой. Мои заказчики люди практичные и если перед ними стоит выбор "красиво" или не очень, но значительно "быстро", то они ВСЕГДА выбирают "быстро". Вот так. А что выбирают заказчики, то выбираю и я. Запросы крутяться на серверею поэтому сдесь скорость та же. Готовая программа работает быстро. На счет быстрее фокса или нет я не проверял, поскольку нет еще рабочего проекта. Теоритически должно работать существенно быстрее так как dot.Net это компилятор. Management Studio и интерфейс VS действительно подтормаживает. Но это design time и это торможение с лихвой окупаеться заложенным функционалом. авторЭто мой выбор, но мне было интересно послушать и мнение уважаемого Krey. С уважением, Алексей Спасибо Алексей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 09:15 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
2Krey Ты на мой вопрос не ответил. Кстати это все тот же проект или ты сменил работу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 09:24 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Извини Crip. Да все тот же проект. Нет слеты не частые. У некоторых пользователей может несколько раз в день слететь, а может не слететь. Ни к какому месту кода эти слеты не привязаны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 10:49 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
PS. Программируя в VS2005 я испытывал реальный кайф от мощи и удобства этого языка, чего никогда не испытывал кодя на Фоксе и что-то подобное давно испытывал программируя на Delphi *************** странно. А мне больше нравится с дружками водку пить и песни петь нестройными голосами. А программирование это просто моя работа за деньги. 8) Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 10:59 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
2Krey Боюсь, что дело не столько в фоксе, сколько в старом железе. Железки у юзеров там были прямо скажем не ахти. А фокс очень чувствителен к этому, так как очень любит память. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 11:07 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Для меня программирование - искуство. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 11:09 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
2Crip Железки поменяли почти везде. Дело скорее всего все таки в фоксе. Я даже знаю где и почему. Сегодня проверю - отпишу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 11:10 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Для меня программирование - искуство. ************ в большинстве случаев юноши со взором горящим общему делу только вредят. Т.к. занимаются не делом а искусством падобромуканешна ЗЫ ты б хотя б в таком случае рецензий своих сюда не постил Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 11:22 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
1024 в большинстве случаев юноши со взором горящим общему делу только вредят. Т.к. занимаются не делом а искусством И это говорит автор "Междумордия" Можно конечно иронизировать, но система там достаточно серьезная... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 11:32 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
8( ну вот... Междумордие работает и поставленные цели достигнуты. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 11:47 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
авторв большинстве случаев юноши со взором горящим общему делу только вредят. Т.к. занимаются не делом а искусством Человеку под ником 1024. Я уже не юноша. Я программирую с середины 90-х. В то время хакерами называли не тех кто пишет "Сдесь был Вася Пупкин" на чужих сайтах, а тех кто реально понимал как программный код выполняеться в железе. Моему опыту программирования большинство может только позавидовать. Я писал проги на стольких языках, что пальцев на руках не хватит что бы перечислить их названия. Я могу написать клиента для БД или могу написать драйвер для сетевой карты. Вместо того что бы пить водку в подъезде я программил вечерами и ночами. После этого ты будешь называть меня пренебрежительно юношей и указывать на маньячный горящий взгляд?. Все дело в том что некоторые пишут музыку или картины, а я программлю. Это мое творчество. И оно совпадает с моей работой на 100%. Неужели обязательно на незнакомого человека всегда смотреть с высока? Мол я то знаю что я крут, а этот 100% менее крут чем я? Или многих обязательно нужно ткуть носом в сертификат MCSE что бы с тобой начали нормально разговаривать?. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 11:52 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
ну так и разговаривай нормально. если чёт у тебя ломается - говори "у меня ломается" а не "у вас ломается" если что-то не получается - говори "у меня не получается" а не "у вас не получается" если считаешь что возможность реализации многопоточности является основным критерием при выборе среды разработки - говори "я считаю что возможность реализации многопоточности является основным критерием при выборе среды разработки" а не "складской учёт можно разрабатывать только на ц-диез" Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 12:01 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Я не являюсь представителем никакой оффициальной организации, поэтому все что Я пишу на форумах являеться исключительно моим ИМХО. Нигде не написано иного. Кроме того все мое ИМХО обсуждаемо в рамках приличий. На счет ломаеться. Лично для меня не вызывает сомнений что процедура деструктуризации объектов в FoxPro реализована некорректно. Естейственно разными ухищрениями можно добиться того, что это не будет сказываться на приложении. Сдесь я прошу обратить некоторое внимание на то, что я говорил не конкретно о своей программе а о недостатках FoxPro. Пример: Есть форма. Есть свойство. В runtime присваиваем этому свойству ссылку на объект. Form.Close. Что происходит с формой? Часто она остаеться висеть частично разрушенной (это зависит от объекта и некоторых прочих факторов). Ее держит ссылка на объект. Скажите это нормально? НЕТ. Нужен пример? скажите я сделаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 12:14 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
По поводу: авторну так и разговаривай нормально. авторза полтора месяца автор "написал первую прогу (достаточно серьезную)". Теперь у всех его юзверей стоит фреймворк NET 2 и всё летает и прекрасно работает. А, да, он ещё за полтора месяца это всё протестировал. хорош свистеть авторБУГАГА ну так и писать надо - пол-года пробовал чёт писать на ц-диез. Понравилось. а через 6 лет - 6 лет писал на ц-диез, сделал (столько-то) проектов, (понравилось/непонравилось) автор1) А у меня не вылетают! Странно, не правда ли :) Может в консерватории надо чего-то подправить :) авторБолее того - ты возможно удивишься, но "внутри" фокс вовсе не однопоточен авторПросто смешно :) Без комментариев. авторБа, да уважаемый сэр не может отделить ЯЗЫК C++ от среды программирования MS VC++ ;) Честное слово - после этого создаётся впечатление, что вы не далее как вчера из-за студенческой скамьи встали... автор Извиняюсь за многословность, но уже достают пустые псевдо-рекламные сообщения авторGlavnoe ruki normal'no zatochennye i golova na plechah. I ne budet Fox po C5 viletat'. :)) автор в большинстве случаев юноши со взором горящим общему делу только вредят. Т.к. занимаются не делом а искусством Может дело в Вас? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 12:20 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
моё мнение - тебе сделали совершенно правильные замечания. Ты можешь с этим не соглашаться. Безаппеляционные заявления без всяких примеров раздражают. ЗЫ Пример с формой на которую не удалена ссылка не канает, т.к. понятно почему это может произойти и понятно что так делать не надо. Такие вещи обычно решаются либо производителями среды (исправление бага) либо программистами (не делать так). Аналогично как и в любых других средах типа дельфей. При желании синий экран можно и в ВБ6 получить. А вот мой пример совершенно корректен - получить данные из нескольких источников, обработать их, показать юзеру и сохранить в екселе, всего несколько строк а говорит о большом наборе удобных фич. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 12:32 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
авторПример с формой на которую не удалена ссылка не канает, т.к. понятно почему это может произойти и понятно что так делать не надо. Такие вещи обычно решаются либо производителями среды ( исправление бага ) либо программистами (не делать так). Аналогично как и в любых других средах типа дельфей. При желании синий экран можно и в ВБ6 получить. Я ведь и говорил про баг не так ли?. К слову сказать ошибки доступа подобные C5 должны быть возможны только в компилирующих средах при доступе по nil указателям, или при некорректном использовании объектов в многопоточных приложениях. Интерпретатор должен сказать "Нету такого объекта" или что то вроде этого. То что валится runtime Fox'а и то что ошибка не привязана к коду, говорит о баге этого runtime. В сложных приложениях полюбому приходться хранить ссылки на объекты в разных местах. Я столько времени уже потратил на локализацию причин ошибки, что за это время успел бы написать небольшое многопоточное приложение на VS2005 и отладить его. автормоё мнение - тебе сделали совершенно правильные замечания. Ты можешь с этим не соглашаться. Я не согласился и написал почему я не согласен. Где ответы на это содержащие чуть больше смысла чем "кривые руки"? авторПример с формой на которую не удалена ссылка не канает, т.к. понятно почему это может произойти и понятно что так делать не надо Мне не понятно почему это должно происходить. Совершенно не понятно. Почему не надо? Где мне держать ссылки на объекты? в Global переменных что ли? Естейственно я знаю что нужно делать в таких случаях в Fox'е. Но меня как программера на более низкоуровневых языках от этого тошнит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 12:45 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Мне не понятно почему это должно происходить. Совершенно не понятно. Почему не надо? Где мне держать ссылки на объекты? в Global переменных что ли? Естейственно я знаю что нужно делать в таких случаях в Fox'е. Но меня как программера на более низкоуровневых языках от этого тошнит. ********************************* баг от фичи отличается тем что должен быть исправлен. Лечится установкой сервиспаков. ц-диез, кстати, не является низкоуровневым языком Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 12:52 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
авторБезаппеляционные заявления без всяких примеров раздражают. Какой пример тебе нужен конкретно? На второй странице спросили код, но это было похоже на шутку. Больше никто ничего не спрашивал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 12:55 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Кроме того слово "безапеляционные" означает что возражения не принимаються. Разве это слово можно применить к моим постам? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 12:56 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Кроме того слово "безапеляционные" означает что возражения не принимаються. Разве это слово можно применить к моим постам? ********** патамушта я прав а ты нет 8) шутка Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 12:58 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
баг от фичи отличается тем что должен быть исправлен. Лечится установкой сервиспаков. Это да. Проблема в том что этот баг являеться следствием ограниченной функциональности объектной модели VFP. И после СП это вылезет еще где нибудь. Я начал с 5-го VFP и до сих пор с этим сталкиваюсь. Получается то что фокс не дает грамотно уничтожать объекты (нет реального деструктора), а сам при освобождении памяти допускает баги. авторц-диез, кстати, не является низкоуровневым языком автор на более низкоуровневых языках ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 13:01 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Ладно народ. Извиняюсь перед теми с кем я был не заслуженно резок. Мне бы хотелось потихоньку закрыть эту тему, но я буду продолжать отвечать на посты. Еще раз извиняюсь, если наступил кому то на больную мазоль. Своим первым постом я только хотел сказать что опробовал C# и мне очень понравилась функциональность и удобство кодинга. Хотел обратить на dot Net ваше внимание. Не ожидал такой реакции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 13:06 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Krey Это да. Проблема в том что этот баг являеться следствием ограниченной функциональности объектной модели VFP. И после СП это вылезет еще где нибудь. Я начал с 5-го VFP и до сих пор с этим сталкиваюсь. Получается то что фокс не дает грамотно уничтожать объекты (нет реального деструктора), а сам при освобождении памяти допускает баги. Сия проблема и ее решение было описано еще в далеком 2000 году Дугом Хеннингом в журнале FoxTalk за май в статье "Убить объект до смерти". С ошибкой С5 сталкивался раза 2 на собранных из NONAME комплектующих PC. Пример многопоточности на VFP http://www.active-foxpro-pages.com/site.afp?afpcookie=51359554157620978942196656222330365687666201&cat=desc ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 13:27 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Это да. Проблема в том что этот баг являеться следствием ограниченной функциональности объектной модели VFP. И после СП это вылезет еще где нибудь. Я начал с 5-го VFP и до сих пор с этим сталкиваюсь. Получается то что фокс не дает грамотно уничтожать объекты (нет реального деструктора), а сам при освобождении памяти допускает баги. ********************** тебе ж русским языком говорят - сборкой мусора и прочими системными вещами занимается фокспрошная виртуальная машина. Это никакого отношения к "объектной модели" не имеет. В хелпе не сказано что это происходить. Баг должен быть исправлен разработчиками виртуальной машины (рантайма т.е.) *********************** Еще раз извиняюсь, если наступил кому то на больную мазоль. Своим первым постом я только хотел сказать что опробовал C# и мне очень понравилась функциональность и удобство кодинга. Хотел обратить на dot Net ваше внимание. Не ожидал такой реакции *********************** мазоль не в дотнете (такое сверхновое появляется примерно раз в пять лет, ничего особенного, что-то лучше, что-то хуже) а в том что ересь какая-то выдаётся за осмысленное мнение. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 13:43 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Ну жтож, продолжим. автортебе ж русским языком говорят - сборкой мусора и прочими системными вещами занимается фокспрошная виртуальная машина. Это никакого отношения к "объектной модели" не имеет. В хелпе не сказано что это происходить. Баг должен быть исправлен разработчиками виртуальной машины (рантайма т.е.) А я тебе не менее русским языком говорю что баг с C5 это одно, а отсутствие дестроера другое. Не надо путать две слабо связанные вещи. Журнала FoxTalk у меня нету. Буду благодарен за ссылку. автормазоль не в дотнете (такое сверхновое появляется примерно раз в пять лет, ничего особенного, что-то лучше, что-то хуже) а в том что ересь какая-то выдаётся за осмысленное мнение. Какая ересь? отсутствие дестроера? невозможность в некоторых случаях нормально грохнуть объект? Ересь говоришь. А то что я с этой долбаной ошибкой трахаюсь столько времени, хотя ежу ясно что она не моя?(мою нить рассуждений по этому поводу можно откопать выше.) Я в том числе про это и веду речь. Что надежное, масштабируемое приложение на FoxPro писать труднее чем на VS2005. Это ИМХО. Доказательство вот : Я бы эту ошибку на C# локализовал, обошел бы и исправил за полчаса буть пусть бы она находилась в каком угодно потоке. А в Фоксе я обязан либо трахаться с ней либо ждать чуда в СП. Приложение валиться на строке thisform.hide при странном стечении обстоятельств в программе. В частности некоторые окна должны быть при этом развернуты на весь экран. Копаю дальше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 14:01 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
понятия не имею что у тебя там не так. Но это ж у тебя что-то не так, у других-то вроде нормально. если "дестроер" это метод который вызывается при удалении объекта то это события destroy и unload 8) Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 14:08 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
:) Здравствуйте, уважаемые коллеги! Большинство талантливых программистов не обладают преподавательским даром и не владеют искусством ведения дискуссии и легко ранимы ложными обвинениями в некомпетентности, и по этой причине, они в первые дни общения на форуме неадекватно ранимы и часто непоследовательны в своих утверждениях. Прошу помочь человеку (Krey) нормально завершить дискуссию - похоже он наш человек :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 14:28 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
http://newsletter.narod.ru/foxtalk/FoxTalk.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 14:39 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Под дестроером понимаеться метотод объекта, при вызове которого объект будет разрушен и выгружен из памяти. В общем случае это просто метод (метода) удаления объекта из памяти. В Delphi это метод Destroy(). В C# открытого дестроера тоже нету, но там есть грамотная реализация учета ссылок на объект и грамотная сборка мусора. Т.е. создав объект и рассунув к примеру десять ссылок на него по разным объектам (утрирую) можно быть уверенным что для того что бы мне этот объект грохнуть, мне надо освободить все ссылки на него и он сам мирно ляжет, предварительно выполнив тот код что описан в его деструкторе с тильдой. Причем ссылка на созданный общий объект никоим образом не может мешать уничтожению ссылающихся на него объектов (согласись, это ж бред). Предполагаю что разработчики VFP собирались в Фоксе сделать что-то подобное но у них это плохо получилось (говорю без доли иронии). В итоге чтобы написать стабильное приложение мне приходиться сильно упрощать код. Что ведет к неудобству в кодинге и разбухании кода. Нет возможности нормально реализовать библиотеку классов на всю катушку используя принцип инкапсуляции. Вечно будут конфликты при уничтожении объектов. И даже если -(цензура)- и все заработает то итоговое приложение все равно изредка будет падать. Проверено мной не раз. Не пытайтесь меня уличить в том что я не соблюдаю порядок создания\уничтожения объектов или не вовремя очищаю ссылки на них. Я все это давно очень хорошо и давно впитал практически с молоком. На 386 компах я писал проги на всю катушку пользующие память видюхи, так что в доступе по nil указателям меня тоже обвинять не стоит. И еще раз повторюсь что мои проги на Delphi никогда не валились с ошибкой доступа к памяти, а ведь там все сложнее. Я просто констатирую факт что при сложной стьруктуре классов обязательно возникают проблемы с объектами. Все это я видел начиная с 5-го фокса. Возможно вы с этим не сталкивались (не верю я в это) потому что не слишком углубляли свои классы, не использовали в них коллекции объектов со ссылками на другие объекты. и.т.д. Ребят не хочу я ссориться. Если для вас проблема дестроеров не стоит значит ее для вас и нету. и ладненько. PS. Спасибо Равиль. Ты меня просто выручил. Я действительно мало общаюсь на проффессиональных программерских форумах. Пару лет назад меня можно было встретить на delphi.mastak.ru, но там я только отвечал на вопросы и дискуссий ориентированных конкретно на меня не возникало. PPS foxwizard. Спасибо за ссылку. Давно хотел почитать журналы по Fox'у но ни одного не нашел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 14:45 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
если чего-то не хватает то это придётся писать. Если нет контроля за ссылками на объект а они нужны то придётся это написать самому. Логично? 8) но это никак не служит оправданием что у тебя всё падает 8))) Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 15:21 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
2Krey Kod ne shutka. Izvinite chto otluchilsia. S nedavnih por ya splu kogda vi rabotaete. Zemlia kruglaya, ponimash :)) Kod davay, "hudojnik" :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 15:59 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
авторесли чего-то не хватает то это придётся писать. Если нет контроля за ссылками на объект а они нужны то придётся это написать самому. Логично? Не понял что ты предлагаешь мне написать. Я просто не берусь реализовывать полнофункциональные классы на Фоксе вот и все. Пишу код по другому. Представления, курсорадаптеры, куча кода в формах по обработке данных этих курсоров, если конечно это нельзя сделать на сервере. Код получаеться не такой красивый какой мог бы быть. Его получаеться дольше чем могло бы быть. И так далее. Но это мои проблемы. Не хочу это сдесь обсуждать. авторно это никак не служит оправданием что у тебя всё падает Ага. Thisform.Hide на форме где нет никаких обработчиков размера и.т.д. всего того что может быть прикручено к Hide. и получаем C5. И конечно это я виноват. Это конечно следствие чего-то интересного в коде, но интерпретатор это никак не может оправдать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 16:00 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Кстати это место в старом коде и C5 полезла только в 9-м фоксе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 16:01 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
kdanylo какой код C#-кий? Дам как домой вернусь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 16:02 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
2Krey SP1 накатывал? Если нет срочно накати, без него 9-ка вообще сплошной глюк, достаточно список пофиксенных багов посмотреть. Вроде сейчас не видно ничего подобного... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 16:05 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Скачал, поставил. Баг все еще там. Буду искать. Сегодня пришлось отвлечься на другую работу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 17:18 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Krey Пример: Есть форма. Есть свойство. В runtime присваиваем этому свойству ссылку на объект. Form.Close. Что происходит с формой? Часто она остаеться висеть частично разрушенной Совершенно вЕРНО!!! поддерживаю ВАС!!! давеча три дня назад у меня случилось именно такое.. форма осталась частично разрушенной, а именно наполовину разбился заголовок форму, пропали кнопки управления окном, и.. по диагонали, если можно так сказать, ну не совсем по ней снизу кусок формы тоже исчез ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 17:41 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
да, у меня (да и у многих наверна) тоже бывало по недосмотру что форма не закрывается если есть неудалённая ссылка на неё. Причина того что форма не закрывается в том что на неё есть неудалённая ссылка 8) Пример наоборот. В MS SQL можно удалить таблицу на которую ссылается процедура, сервер совершенно спокойно её позволит удалить но при запуске процедуры будет ошибка. Хотя создать процедуру со ссылкой на несуществующую таблицу сервер не даст. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 19:08 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
авторда, у меня (да и у многих наверна) тоже бывало по недосмотру что форма не закрывается если есть неудалённая ссылка на неё. Причина того что форма не закрывается в том что на неё есть неудалённая ссылка Я так и не догоняю почему многие считают это правильным. К примеру есть класс формы. Я создаю его экземпляр и устанавливаю в одно из его свойств ссылку на внешний объект с той целью что бы методы в форме использовали его или выполняли какие либо действия над ним. Далее это диалоговое окно закрываеться пользователем по нажатии кнопки "ОК". Ну скажите мне ради бога что сдесь неправильно и почему пользователь в этом случае должен наблюдать на экране развалины в форме. Или почему я как программер должен в Destroy прописывать property=null. Скажите разве я присваивал это свойство внутри какого-либо метода в форме? нет. Значит и обнулять его я при таком желании должен вне формы. Кроме того раз я закрываю форму значит мне эта ссылка не нужна. Почему объект держит форму и как такое вообще возможно? Это бред. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 20:13 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Да я чего то недосмотрел. 1024 говорил про ссылку на форму а я про ссылку на объект внутри формы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 20:15 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Обящанный код. Перед тем как начать тестить dot Net я некоторое время думал какое приложение мне начать писать что бы была конкретная задача но в то же время она не была связано с моей работой. Остановился на следующей задаче: Есть такая игра EVE-Online. Космическая по типу Elite (если это вам о чем нибудь говорит). В игре можно делать очень многое в том числе и торговать. Вот я решил написать прогу - помошник трейдеру в EVE. В программу вводяться предложения рынка (купля продажа товаров). Прога выдает готовый торговый маршрут: типа купить это там, это там а это там и распродать все это по дороге туда-то залетая сюда, сюда и сюда. Структура космоса: Вселенная(одна) - Регион(66) - Созвездие(780) - Солнечная система(5334) В солнечных системах есть джампгейты. всего возможных прыжков во вселенной 13892. Эта прога конечно не являеться клиентом к БД, но я такую задачу перед собой и не ставил. Как работать с данными на dotNet и так ясно. Мне интересно было получить общее представление о разработке на C#. И я его получил, чем вполне доволен. Прога еще не приняла вид законченного продукта. Надо поработать еще над главным алгоритмом и сделать пользовательский интерфейс. На данный момент я потратил на это примерно две недели рабочего времени так как работал вечерами и изредка по выходным. По объему я прикинул и повырезал все что мог без потери смысла. Оставил реализацию двух классов без реализации их внутренних мемберов и часть еще одного. Всеравно длинно получилось уж извиняйте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 23:05 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360. 361. 362. 363. 364. 365. 366. 367. 368. 369. 370. 371. 372. 373. 374. 375. 376. 377. 378. 379. 380. 381. 382. 383. 384. 385. 386. 387. 388. 389. 390. 391. 392. 393. 394. 395. 396. 397. 398. 399. 400. 401. 402. 403. 404. 405. 406. 407. 408. 409. 410. 411. 412. 413. 414. 415. 416. 417. 418. 419. 420. 421. 422. 423. 424. 425. 426. 427. 428. 429. 430. 431. 432. 433. 434. 435. 436. 437. 438. 439. 440. 441. 442. 443. 444. 445. 446. 447. 448. 449. 450. 451. 452. 453. 454. 455. 456. 457. 458. 459. 460. 461. 462. 463. 464. 465. 466. 467. 468. 469. 470. 471. 472. 473. 474. 475. 476. 477. 478. 479. 480. 481. 482. 483. 484. 485. 486. 487. 488. 489. 490. 491. 492. 493. 494. 495. 496. 497. 498. 499. 500. 501. 502. 503. 504. 505. 506. 507. 508. 509. 510. 511. 512. 513. 514. 515. 516. 517. 518. 519. 520. 521. 522. 523. 524. 525. 526. 527. 528. 529. 530. 531. 532. 533. 534. 535. 536. 537. 538. 539. 540. 541. 542. 543. 544. 545. 546. 547. 548. 549. 550. 551. 552. 553. 554. 555. 556. 557. 558. 559. 560. 561. 562. 563. 564. 565. 566. 567. 568. 569. 570. 571. 572. 573. 574. 575. 576. 577. 578. 579. 580. 581. 582. 583. 584. 585. 586. 587. 588. 589. 590. 591. 592. 593. 594. 595. 596. 597. 598. 599. 600. 601. глумитесь наздоровье :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2005, 23:06 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Hi Krey! Так давай немного по порядку... 1) ЧТО ИМЕННО не устраивает в Init? - он вызывается после Load? Ну и что? Считайте что Load это "предварительная" часть конструктора - когда ещё не существует всех "внутренностей" формы - зато тут удобно готовить данные для последующей инициализации внутренних контролов. И тут можно через RETURN .F. вызвать "отмену" инстанциации объекта. Вот в NET в какой момент инициализируются "вложенные" объекты? Неужели нельзя разделить код конструктора на 2 части - ДО и ПОСЛЕ инициализации этих самых агрегированных объектов... - Init не понимает NODEFAULT - ну да, есть такая особенность - но он понимает RETURN .F. - так что никаких проблем - только запомни эту особенность и всё. - он не получает параметров из точки создания объекта? Получает! - он не может быть "перегружен"? Но это и не требуется, т.к. он может принять произвольное число параметров произвольных типов! Собственно говоря, именно из-за невозможности получить в методе параметры разных типов и/или разное их число и придуман был этот "костыль" - перегрузка методов. - написано что это event ;) Честно говоря, на заборе вообще чёрт-те что написано, а там на самом деле дрова. Давай не будет цепляться к словам. 2) Что не так с Destroy? - он при уничтожении объекта вызывается? Вызывается. - он позволяет при необходимости "разгрузить" объект? Например освободить/закрыть те ресурсы, за которыми не может следить сама среда фокса (файловый хендл, хендл ключа реестра, коннект к SQL серверу, ещё бог знает что...) Вполне позволяет. 3) Насчёт грида - да полностью согласен - это излишне усложнённый объект, и потому он крайне трудно управляем. Однако это не мешает использовать то что есть - просто не стоит пытаться полностью его перекроить - надо быть мягче, искать альтернативные варианты... Да, нельзя сделать строки разной высоты, сложно координировать позиции колонок с вложенными в них сложными контролами, в ранних версиях вообще многое приходилось через зад делать - и подсветку строки, и блокирование прокрутки некоторых строк... 4) FlexGrid я использовал в одном проекте - видел его глюки (например попробуй программно установить высоту строки :( ) но тем не менее не понимаю ТВОИХ проблем - IntelliSense с ним работает - и в ObjectBrowser он видим со всеми своими свойствами... Вполне можно обойтись и без хелпа - если методом научного тыка более привычно и удобно пользоваться... 5) Я применяю коллекции не настолько широко, чтобы страдать от того, что их элементы нетипизированны. Если мне ОЧЕНЬ НАДО, то могу написать Код: plaintext 1. 2. 3. 4. 5. методов/свойств. Причём неважно где это написано - в prg, или просто в окне кода для метода vcx/scx. Про IS в рантайме я всё равно ничего не понял. рантайм - это когда исполняется фоксовый exe - про какой там IS идёт речь, и при чём тут "неизвестный ActiveX" я не понимаю... В среде же для ActiveX-ов IS вынимает достаточно информации - в blog-е Calvin Hsia кстати писал сколько всего разного делает фокс, чтобы заработал IS для разнообразнейших объектов. Нормальное меню офисного Outlook к слову - это вообще-то тулбар а не меню. Извини, отвлекусь слегка на историю - наваяли у нас ребята программульку на NET-е, и взяли в качестве меню один из этих хвалёных компонентов (название если надо могу выяснить - чтоб не попал на это Г :) ) - оно красиво конечно, полупрозрачно, с картинками, полосками и т.п. слева ещё дерево режимов, под ним панель с "иконками" открытых окон (ну конечно список открытых окон в подменю "окна" это уже "немодно")... Правда после того как на не самой хилой тачке (и памяти там хватает и пень вроде вполне себе современный - с фоксом по крайней мере там никаких тормозов не было) открываешь всего-то с десяток форм (их всего то там штук 15), это самое "красивое меню" со всеми причиндалами начинает прорисовываться как Doom3 на первых Pentium с мегабайтной видюшкой типа S3-Trio... И в итоге вся программа через некоторое время просто падает, а комп ещё минут пять судорожно свопится... Это к вопросу о "крутых компонентах"... 6) Про "отсоединённые рекордсеты" мне опять смешно (попал пальцем в небо называется) - это в чистом виде фоксовая технология курсоров, которую MS перетянул в своё время для своего убогонького VB (ещё в доNETовские времена) и реализовал в виде ADO. Сегодня ADO конечно почти умер, но вот ADO.NET с его датасетами как ни странно опять до боли напоминает чуть приглаженный фоксовый курсорный движок. Только в фоксе можно сотворить с курсорами всё что угодно, а в ADO.NET - какие-то примитивные фильтры, реляции да аналоги calculate ... Но конечно развитие идёт. и глядишь лет через 5 тамошний курсорный движок дорастёт до уровня VFP 3.0 ;) 7) Интерфейсы - опять пустое слово. Это же просто один из способов реализации простейшей идеи в ООП - однако и без собственно интерфейсов это всё замечательно можно сделать в фоксе! Он же не типизирован, он работает на основе динамического разрешения "имён" методов/свойств!!! Я могу написать loSome.DoItBaby - и мне совсем не надо описывать "интерфейс IDoItBaby" - потом наследовать все интересующие меня классы от него, потом при вызове заниматься приведением типов (ссылки loSome) к этому самому интерфейсу... Т.е. я могу сделать всё то что позволяет получить интерфейс, но только БЕЗ него самого, и в 10 раз более коротким кодом! 8) Про Delphi vs C++ я спорить не собираюсь. У тебя своё мнение, у меня своё. Только не надо пожалуйста больше таких громогласных заявлений, что C++ это не ООП язык ;) Я не знаю ни одного серьезного (и успешного) коммерческого проекта на Delphi - куча студенческих поделок, всякие мелкие утилитки - это да, а чего-то уровня ХОТЯ БЫ MS Office - увы нету... Уже один тот факт что на C++ пишут ОС, а на Delphi нет многого стоит... Впрочем на сегодня говорить о мёртвом продукте вообще нечего - его благополучно сожрал NET. Кстати насчёт цитаты - прочитай своё ПЕРВОЕ сообщение - что там написано в предпоследнем предложении? Только дословно! И как же прикажешь тебя понимать? Ладно а теперь от слов к делу! Про проблемы со ссылками... Честное слово - без примера я ничего не могу сказать. Ибо то о чём идёт речь У МЕНЯ не происходит! Т.е. если Form1 в своём свойстве oSomeBadRef содержит ссылку на что угодно - на отдельный обособленный объект, на подобъект другой формы, на просто другую форму - это НИКОИМ образом не мешает разгрузке формы Form1 - при её разгрузке свойство автоматически уничтожится, и для соответствующего объекта уменьшится число ссылок на него - т.е. НЕТ проблемы. Т.е. создав объект и рассунув к примеру десять ссылок на него по разным объектам (утрирую) можно быть уверенным что для того что бы мне этот объект грохнуть, мне надо освободить все ссылки на него и он сам мирно ляжет, предварительно выполнив тот код что описан в его деструкторе с тильдой. Причем ссылка на созданный общий объект никоим образом не может мешать уничтожению ссылающихся на него объектов Именно так это работает и в фоксе! Никаких отличий! За исключением описанного ниже способа "убить все ссылки скопом" - не знаю есть ли такая возможность в NET, и насколько это просто там реализуется если есть. Если же в Form1 имеется скажем Textbox1 - и мы в какой-то внешний объект (свойство другой формы, или даже просто PUBLIC переменная!) поместили ссылку на этот textbox1 - то извини, но какие претензии - ты держишь ссылку на объект - а значит он не может (и не должен) уничтожаться! А т.к. он является частью более сложного "агрегата" Form1 - то и она никак не может (и не должна) уничтожаться - до тех пор пока эту ссылку не занулят. Это вполне логично и правильно! Однако! Даже в столь трудной ситуации есть "аварийный выход" - причём целых 2!!! - Можно при разгрузке формы выполнить ThisForm.RemoveObject("textbox1") - это ЯВНО уничтожит внутренний объект - при этом все ссылки на него автоматически зануляться (не nil который приводит к Access Violation в низкоуровневых языках! А простой, можно сказать тупой, фоксовый NULL - который просто вызовет при попытке обращения "через него" к объекту банальнейшую и элементарно отлавливаемую ошибку - ни о каких c005 и речи нет) - Также можно завести в самом "потенциально подвисающем" объекте метод, в котором прописать RELEASE This - это по сути тоже принудительное зануление ВСЕХ ссылок на данный объект. И опять таки ни про какие c005 речи не идёт - всё в рамках фокса и его обработчиков ошибок. Теперь насчёт "объектной мощи" - сделаешь чтоб работало просто и быстро - тотчас же пересяду на NET ;) Имеем сложный бизнес-объект (объект предметной области). Экземпляры его хранятся в реляционной СУБД (неважно какой). Имеется способ "создания" объекта из хранилища, и способ "сохранения" его в хранилище - опять же неважно КАК это реализовано - пускай это будет забота "фабрики" для этих объектов. Имеется способ поиска объекта - для простоты скажем что можно искать по любому из его хранимых атрибутов. Т.е. задали критерии - получили коллекцию загруженных объектов подходящих под этот критерий. Теперь самое интересное! Объект сложен - у него есть масса "расчётных" атрибутов (НЕ хранимых в базе) - неважно какого они рода - главное, что их рассчитывает соответствующий метод данного класса - конечно он не "из воздуха" их считает, а на основе свойств и других расчётных методов этого объекта. Т.е. получается так, что для расчёта данных атрибутов объект должен быть загружен!!! И наконец вопрос - мне нужно реализовать механизм получения коллекции объектов, в которых РАСЧЁТНЫЙ атрибут удовлетворяет заданному мной условию! Всё, абзац, приехали. Без ПОЛНОЙ загрузки ВСЕХ имеющихся объектов и последующего дурного цикла по всем этим экземплярам задача не решаема! Отличное К/С приложение получится - для работы ему надо загрузить весь массив данных в память :) Потрясающая производительность - для нахождения 2-3 подходящих элементов надо перелопатить все имеющиеся объекты! Простое решение - нарисовать ХП на сервере и обращаться при запросе к ней - но тогда на кой мне сдались вообще все эти объекты, классы и иже с ними - если логика у меня по прежнему, как и в случае с тем-же самым фоксом, находится не там где мне удобно! При этом "дублировать" расчётные методы на PL-SQL, или там T-SQL и на C# - нет уж, поищи Папу Карло в другом месте - я слишком ленив чтобы поддерживать 2 версии только из-за "объектных религиозных убеждений". Вот он - объектный подход в действии :( Конечно можно сказать что "не заточен под это NET", так не надо делать - но если так, то зачем был весь этот сыр-бор? Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2005, 01:43 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
авторHi Krey! Так давай немного по порядку... 1) ЧТО ИМЕННО не устраивает в Init? - он вызывается после Load? Ну и что? Считайте что Load это "предварительная" часть конструктора - когда ещё не существует всех "внутренностей" формы - зато тут удобно готовить данные для последующей инициализации внутренних контролов. И тут можно через RETURN .F. вызвать "отмену" инстанциации объекта. Вот в NET в какой момент инициализируются "вложенные" объекты? Неужели нельзя разделить код конструктора на 2 части - ДО и ПОСЛЕ инициализации этих самых агрегированных объектов... - Init не понимает NODEFAULT - ну да, есть такая особенность - но он понимает RETURN .F. - так что никаких проблем - только запомни эту особенность и всё. - он не получает параметров из точки создания объекта? Получает! - он не может быть "перегружен"? Но это и не требуется, т.к. он может принять произвольное число параметров произвольных типов! Собственно говоря, именно из-за невозможности получить в методе параметры разных типов и/или разное их число и придуман был этот "костыль" - перегрузка методов. - написано что это event ;) Честно говоря, на заборе вообще чёрт-те что написано, а там на самом деле дрова. Давай не будет цепляться к словам. Собственно в Init меня как раз все устраивает. Я просто в скользь упоминул что это событие. автор2) Что не так с Destroy? - он при уничтожении объекта вызывается? Вызывается. - он позволяет при необходимости "разгрузить" объект? Например освободить/закрыть те ресурсы, за которыми не может следить сама среда фокса (файловый хендл, хендл ключа реестра, коннект к SQL серверу, ещё бог знает что...) Вполне позволяет. Дестрой как событие меня тоже устраивает. Меня не устраивает то что нет деструктора. Т.е. в некоторых случаях я не могу гарантированно убить объект (журнал еще не читал). И опять таки мой пример с формой. Form.Release дестрой отработался, а форма висит в руинах. автор4) FlexGrid я использовал в одном проекте - видел его глюки (например попробуй программно установить высоту строки :( ) но тем не менее не понимаю ТВОИХ проблем - IntelliSense с ним работает - и в ObjectBrowser он видим со всеми своими свойствами... Вполне можно обойтись и без хелпа - если методом научного тыка более привычно и удобно пользоваться... Да здесь похоже мои сведения устарели. Конкретно с FlexGrid это я плохой пример привел. В памяти моей закрепился тот факт что IntelliSence не отображал внутренности объектов - содержимых коллекций. TreeView.Nodes(1).? например. Сейчас проверил. Все отображаеться. Забираю эти слова обратно с извинениями. автор5) Я применяю коллекции не настолько широко, чтобы страдать от того, что их элементы нетипизированны. Если мне ОЧЕНЬ НАДО, то могу написать LOCAL loItem AS Form && можно и свой класс конечно тут указать, вместе с библиотекой. FOR EACH loItem IN This.colForms ? loItem. Можно. Но ведь ясно что постоянно вытаскивать типизированной переменной нужный мне метод из внутренних структур "мощного" класса что бы высветилась подсказка вызова его метода не есть гуд. Но это конечно неудобство преодолимое (к хорошему быстро привыкаешь). авторНормальное меню офисного Outlook ... Ну дык и я про это говорил. Нормально реализованный контрол еще нужно поискать, а потом еще заплатить за него. А ведь хочется. Удобно, наглядно. Если ничего не найду потрачу пару недель на его реализацию или забью на это дело. Это что касаеться Тулбара. Что то подобное FleхGrid'у конечно проще купить. авторПро "отсоединённые рекордсеты" мне опять смешно (попал пальцем в небо называется) Это я конечно ляпнул. Спросили про технологии а ведь трудно все сразу вспомнить. Все в голове когда ты с этим работаешь, а потом забываешь, что бы вспомнить когда понадобиться. автор7) Интерфейсы - опять пустое слово. Это же просто один из способов реализации простейшей идеи в ООП - однако и без собственно интерфейсов это всё замечательно можно сделать в фоксе! Он же не типизирован, он работает на основе динамического разрешения "имён" методов/свойств!!! Я могу написать loSome.DoItBaby - и мне совсем не надо описывать "интерфейс IDoItBaby" - потом наследовать все интересующие меня классы от него, потом при вызове заниматься приведением типов (ссылки loSome) к этому самому интерфейсу... Т.е. я могу сделать всё то что позволяет получить интерфейс, но только БЕЗ него самого, и в 10 раз более коротким кодом! Интерфейсы очень дельная и удобная штука. В C# варианты их использования просто необъятны... Касательно Интерфейсов и Фокса. Они там не нужны как инструмент для доп. функциональности. Согласен. Можно засовывать в какие угодно параметры, какие угодно классы и тебе за это ничего не будет после того как этот кусок кода будет отлажен. Но потом когда этого кода будет много, классов будет много и.т.д. Боюсь что даже автор будет долго втыкать в свои участки кода и долго вспоминать что он и откуда он это впихивал. Я уж не говорю про свеженанятого програмера которому придеться работать с этим проектом. Опять таки мое мнение: Фокс выплывает еще по своей функциональности потому что он интерпретатор и нетипизирован. Но это боком оборачиваеться в больших проектах. автор8) Про Delphi vs C++ я спорить не собираюсь. У тебя своё мнение, у меня своё. Только не надо пожалуйста больше таких громогласных заявлений, что C++ это не ООП язык ;) Я не знаю ни одного серьезного (и успешного) коммерческого проекта на Delphi - куча студенческих поделок, всякие мелкие утилитки - это да, а чего-то уровня ХОТЯ БЫ MS Office - увы нету... Я тоже спорить не собираюсь. Это было мое мнение. авторУже один тот факт что на C++ пишут ОС, а на Delphi нет многого стоит... Ничего этот факт не стоит. Просто так исторически сложилось еще до появления ООП как такового. авторКстати насчёт цитаты - прочитай своё ПЕРВОЕ сообщение - что там написано в предпоследнем предложении? Только дословно! И как же прикажешь тебя понимать? C# совершенно другое дело. Ну да. С# перенял все самое лучшее что я так любил в Delphi и еще это улучшил. Свойства с акцессорами например. Много чего еще. Нужно садиться, вспоминать и составлять список на бумаге, потом постить сюда. Надо? сделаю. авторТ.е. если Form1 в своём свойстве oSomeBadRef содержит ссылку на что угодно - на отдельный обособленный объект, на подобъект другой формы, на просто другую форму - это НИКОИМ образом не мешает разгрузке формы Form1 - при её разгрузке свойство автоматически уничтожится, и для соответствующего объекта уменьшится число ссылок на него - т.е. НЕТ проблемы. Если бы так было всегда я был бы наверное счастлив и еще долго бы не думал о переходе на .NET. Голословным не буду, завтра найду закоментированный кусок кода в рабочем проекте и отпостю. автор"убить все ссылки скопом" - не знаю есть ли такая возможность в NET, и насколько это просто там реализуется если есть. Если имееться в виду деструктор типа object.destroy() как в Delphi, то его там нету. Зато есть грамотный и неглючный алгоритм сборки мусора. Кстати выбрасывание объектов в пустоту (разумееться после выполнения пользовательского кода по освобождению ресурсов) в некоторых случаях упрощает программу (конкретно в случае перекрестных ссылок) и снижает кол-во ошибок. Тоже было бы и в Фоксе есле бы не было так глючно. продолжу завтра. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2005, 04:21 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Не удержался и прочитал таки твою задачу :). Igor Korolyov придеться тебе таки переходить на .NET чему я почему то даже рад. Это ж класическое применение SQL2005 Yukon с dotNet сборками внутри :). Прям как по учебнику. У тебя есть библиотека классов (сборка) реализованная один раз в одном месте (dll). Там объектное представление твоего класса со всеми расчетными методами. И два метода LoadFromDB и SaveToDB Там же реализация коллекции этих объектов. Засовываешь эту сборку в Yukon и в клиент. С клиента вызываешь хранимку (заглушку T-SQL для dot NET метода в сборке). DotNet код на сервере заполняет коллекцию объектами, просчитываються параметры. Из процедуры клиенту возвращаються только удовлетворяющее заданным условиям подмножество загруженных и просчитанных бизнес объектов. Как и в каком виде возвращаються уже дело твоего загрузчика. Важно что клиент использует туже сборку и тебе в принципе даже не нужно париться с передачей колекции туда обратно. Можно ее передавать например в XML'е. Можно было бы твой бизнес-объект вообще dot.NET типом реализовать и хранить в базе его сериализованное представление в XML-е (готовое для передачи) + поисковые параметры в полях реляционных таблиц, но подозреваю у тебя там много данных а по скорости это решение уступит полностью реляционному. Хотя можно найти разумный компромис если уж ты такой ленивый :). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2005, 05:01 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Hi Krey! Я всё больше и больше не понимаю что ты говоришь про деструкторы: Из хелпа (по C#) Destructors cannot be called. They are invoked automatically Т.е. это даже БОЛЕЕ ограниченное решение по сравнению с фоксовым destroy() - его НЕЛЬЗЯ вызвать - и он НЕ ПРЕДНАЗНАЧЕН для того чтобы убивать объекты - он как раз наоборот вызывается при их уничтожении, чтобы разгрузить "неуправляемые" ресурсы - т.е. идеологически он 100% аналог фоксового Destroy()! Я уже говорил, что вообще не знаю простого способа в C# "убить объект насмерть" - т.е. сделать так чтобы ВСЕ имеющиеся на него ссылки были обнулены - чтобы он мог быть подчищен "сборщиком мусора". > Ну дык и я про это говорил. Нормально реализованный контрол еще нужно > поискать, а потом еще заплатить за него... Это что касаеться Тулбара. Что > то подобное FleхGrid'у конечно проще купить. Сегодня спросил у NET-чиков во сколько они оценивают написание сравнительно простого грида (поскольку штатный грид в NET более чем убогий) - сказали пол-года (правда они никогда столь масштабных компонентов не писали, и потому могут ошибаться даже на порядок :) ). При этом привели пример DevXpress-овского грида - он существовал ещё во времена Delphi/BCB - под NET его говорят переписали с нуля - при этом по функционалу он всё ещё ЗАМЕТНО беднее старой версии - т.е. даже мощнейшая компания, которая собственно и живёт за счёт продажи этих компонент за время существования NET (я даже не заикаюсь про NET 2.0 который увидел свет чуть более полугода назад - в совершенно непригодном к употреблению бета-виде конечно :) ) не смогла полностью перенести свои старые наработки на новую платформу! Так что разговоры о том что "можно написать свои контролы" для меня по прежнему остаются пустыми - нереально это, слишком трудоёмко... >> Уже один тот факт что на C++ пишут ОС, а на Delphi нет многого стоит... > Ничего этот факт не стоит. Просто так исторически сложилось еще до > появления ООП как такового. Он стоит того, что АПИ "ближе" к С чем к Pascal. Вот и всё :) Ты видел в MSDN хоть один пример на Pascal? Я - нет :) > Кстати насчёт цитаты Чёрт, промахнулся в подсчёте точек - третье с конца имелось в виду - там НЕТ намёка на то что это именно MS VC++ 6.0 плохая среда, а С++ язык всё-же нормальный, объектный... Теперь насчёт задачи. Было сказано 1) хранятся в реляционной СУБД (неважно какой) И тут-же мне же предлагается использовать именно MS SQL 2005 - продукт сырой и весьма дорогой кстати :) Понятно почему MS так усилено пропихивает NET куда только можно - даже бесплатные урезанные версии компиляторов раздаёт - как обычно всё сводится к подсаживанию народа на Windows платформу (именно серверную! т.к. там пока ещё MS не доминирует - как-то производители SQL серверов не бегут толпами на Win) и MS SQL сервер :) 2) Без ПОЛНОЙ загрузки ВСЕХ имеющихся объектов и последующего дурного цикла по всем этим экземплярам задача не решаема! .... Потрясающая производительность - для нахождения 2-3 подходящих элементов надо перелопатить все имеющиеся объекты [quote]DotNet код на сервере заполняет коллекцию объектами[/quote] Т.е. вместо решения основной проблемы (ну воротит меня от загрузки ВСЕХ данных в коллекцию объектов - неправильно это, не должно так происходить - тогда уж лучше расчётные значения хранить постоянно, обеспечивая механизм их синхронизации/пересчёта) предлагается её по простому скрыть, перенеся процедуру создания коллекции и работы с ней на сервер - и я кстати вовсе не уверен, что на сервере будет жить именно один экземпляр подобной "сборки" - т.е. что не создастся для каждого коннекта (ну или не для каждого, но просто "не один") свой процесс, не загрузится в каждый процесс полностью вся коллекция объектов... А значит тут-же я должен начать писать именно серверной приложение - менеджер объектов, которое будет реализовывать как минимум единый репозиторий подобных объектов, заниматься их "предоставлением" клиентам, получить обратно и обновлять хранящиеся у себя экземпляры - т.е. по сути нужно делать объектную СУБД... IMHO затраты на такое решение несоизмеримы с получаемыми преимуществами... Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2005, 02:15 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
авторЯ всё больше и больше не понимаю что ты говоришь про деструкторы: Из хелпа (по C#) Destructors cannot be called. They are invoked automatically Т.е. это даже БОЛЕЕ ограниченное решение по сравнению с фоксовым destroy() - его НЕЛЬЗЯ вызвать - и он НЕ ПРЕДНАЗНАЧЕН для того чтобы убивать объекты - он как раз наоборот вызывается при их уничтожении, чтобы разгрузить "неуправляемые" ресурсы - т.е. идеологически он 100% аналог фоксового Destroy()! Я уже говорил, что вообще не знаю простого способа в C# "убить объект насмерть" - т.е. сделать так чтобы ВСЕ имеющиеся на него ссылки были обнулены - чтобы он мог быть подчищен "сборщиком мусора". Цитирую сам себя: авторЕсли имееться в виду деструктор типа object.destroy() как в Delphi, то его там нету. Зато есть грамотный и неглючный алгоритм сборки мусора. Кстати выбрасывание объектов в пустоту (разумееться после выполнения пользовательского кода по освобождению ресурсов) в некоторых случаях упрощает программу (конкретно в случае перекрестных ссылок) и снижает кол-во ошибок. Тоже было бы и в Фоксе есле бы не было так глючно. Насчет багов деструктора в Фоксе, то быстро сделать пример не получилось. Появиться у меня время сделаю пример и запостю. авторСегодня спросил у NET-чиков во сколько они оценивают написание сравнительно простого грида (поскольку штатный грид в NET более чем убогий) - сказали пол-года (правда они никогда столь масштабных компонентов не писали, и потому могут ошибаться даже на порядок :) ). При этом привели пример DevXpress-овского грида - он существовал ещё во времена Delphi/BCB - под NET его говорят переписали с нуля - при этом по функционалу он всё ещё ЗАМЕТНО беднее старой версии - т.е. даже мощнейшая компания, которая собственно и живёт за счёт продажи этих компонент за время существования NET (я даже не заикаюсь про NET 2.0 который увидел свет чуть более полугода назад - в совершенно непригодном к употреблению бета-виде конечно :) ) не смогла полностью перенести свои старые наработки на новую платформу! Так что разговоры о том что "можно написать свои контролы" для меня по прежнему остаются пустыми - нереально это, слишком трудоёмко... И снова себя цитирую: автор Ну дык и я про это говорил. Нормально реализованный контрол еще нужно поискать, а потом еще заплатить за него... Это что касаеться Тулбара. Что то подобное FleхGrid'у конечно проще купить. авторЧёрт, промахнулся в подсчёте точек - третье с конца имелось в виду - там НЕТ намёка на то что это именно MS VC++ 6.0 плохая среда, а С++ язык всё-же нормальный, объектный... Ну я имел ввиду MS VC++ 6.0, правда не написал об этом. Я знаком только с двумя реализациями объектного C: MS и Borlad (CBuilder). Если забыть конечно про то что CBuilder на самом деле никакой не C а делфи с C-шным синтаксисом, то вполне хорошо объектный С получился :-). Теперь насчёт задачи. Если параметры по которым нужно делать отбор не храняться в БД, то понятно, чтобы вернуть отфильтрованный по этим параметрам набор данных, нужно сначала их просчитать для всего набора данных, по другому никак. Уверен что совершенно не принципиально в каком виде будет реализован алгоритм расчета: в виде ХП или в NET сборке, главное что бы он выполнялся на сервере. авторну воротит меня от загрузки ВСЕХ данных в коллекцию объектов - неправильно это, не должно так происходить - тогда уж лучше расчётные значения хранить постоянно, обеспечивая механизм их синхронизации/пересчёта) Да так будет лучше, но тогда условие задачи меняеться. авторТ.е. вместо решения основной проблемы предлагается её по простому скрыть, перенеся процедуру создания коллекции и работы с ней на сервер Но ведь без полного расчета параметров задача не решаеться. А вот в коллекции это будет происходить, или нет здесь нет принципиальной разницы. Просто так будет удобней. Создастся объект, установяться его свойства данными из БД, просчитаються расчитываемые свойства. Если ты будешь реализовывать это через native XP, тогда действительно придеться дублировать код расчета (по условиям задачи я понял что код расчета в клиенте обязательно должен присутствовать), что не есть гуд. автори я кстати вовсе не уверен, что на сервере будет жить именно один экземпляр подобной "сборки" - т.е. что не создастся для каждого коннекта (ну или не для каждого, но просто "не один") свой процесс, не загрузится в каждый процесс полностью вся коллекция объектов... Я уверен что будет не один экземпляр, ведь NET код будет запускаться из разных сессий. Но ведь если ты реализуешь расчетные методы в native ХП будет тоже самое. авторА значит тут-же я должен начать писать именно серверной приложение - менеджер объектов, которое будет реализовывать как минимум единый репозиторий подобных объектов, заниматься их "предоставлением" клиентам, получить обратно и обновлять хранящиеся у себя экземпляры - т.е. по сути нужно делать объектную СУБД... IMHO затраты на такое решение несоизмеримы с получаемыми преимуществами... Незачем изобретать велосипед. Храни все параметры в БД и синхронизируй их при изменениях. Но даже и в этом случае используя Yukon и сборки можно реализовать эту задачу лучше. Главное что код твоего бизнес-объекта будет один. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2005, 14:11 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
согласен. Незачем изобретать велосипед. Есть база данных, есть SQL. Совать данные из таблиц в объекты незачем т.к. работать с данными можно непосредственно на SQL, он для этого и предназначен --- велосипед это "Храни все параметры в БД и синхронизируй их при изменениях" Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2005, 14:38 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
1024 , смотря на каком уровне ты живешь. Если дошел до деклатаривного описания функций системы, "Совать данные из таблиц в объекты " - есть за чем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2005, 14:50 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
о какие слова! 8) не факт что тот кто "дошел до деклатаривного описания функций системы" знает на должном уровне скл. Мож ему (конкретно ему) так удобней Это вам в топик по объектным субд надо Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2005, 15:02 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
а я сую и еще как сую да еще и пинаю потом, чтобы потом сами подсовывались и подпинывались и еще за хвост целую семейку тащили и знали где и как жить и чего делать шучу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2005, 15:20 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Hi alex11100! Это ты про отложенную загрузку (Lazy Read) так завернул? Тоже кстати интересная проблема - если НЕ реализовывать отложенную загрузку, то чисто объектная модель (в которой связи реализованы как объектные ссылки) будет норовить при создании всего одного махонького объекта вынуть пол-базы :) Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2005, 02:03 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Hi Krey! > Зато есть грамотный и неглючный алгоритм сборки мусора Ну как бы так помягче сказать... Не верю я что он безглючный. В фоксе эту систему дай боже 10 лет реализуют и до сих пор в каких-то случаях (правда по моему опыту - в весьма и весьма редких случаях) он даёт сбои и не выгружает либо объект, либо (что кстати чащё случается) описание класса (оно тоже сидит в памяти в каком-то хитром виде)... А в NET значится вот так взяли и за пару лет сделали идеал :) > Кстати выбрасывание объектов в пустоту (разумееться после выполнения > пользовательского кода по освобождению ресурсов) в некоторых случаях > упрощает программу (конкретно в случае перекрестных ссылок) и снижает > кол-во ошибок. Если в А есть ссылка на Б, а в Б есть ссылка на А, то к чему привидёт "выбрасывание в пустоту" - т.е. уничтожение других (не этих "взаимных") ссылок? Это очень сложная проблема (поскольку я то привёл самый что ни на есть простой вариант - реально всё может быть гораздо более запутано). И ты утверждаешь что в этой системе в принципе нет и не может быть ошибок? Очень сомневаюсь... > Если забыть конечно про то что CBuilder на самом деле никакой не C а делфи > с C-шным синтаксисом Про это я и говорил :) Не натуральный он С++ а мутант жуткий :( Если бы не удобный интерфейс (который у MS вплоть до последнего времени был лишь в VB и VFP ;) ) то умер бы он так и не родившись. > Теперь насчёт задачи. Да, ты конечно прав - но лишь в том что расчёт должен вестись на сервере :) Кстати другой вариант - это построение специального вида "вывернутых" функций, которые могут хотя-бы оценочно перевести искомый расчетный параметр в набор "подходящих" исходных параметров - с тем чтобы подставить этот набор в качестве условий отбора и уже на результатной выборке воспользоваться "прямым" алгоритмом и отсеять те записи что всё-же не подходят... Конечно надо признать что не всякая функция может быть таким образом вывернута... Но например f(a,b) = a+b или f(a) = abs(a) - может :) Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2005, 02:03 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
1. Оба языка, Pascal и C были созданы на базе языка Алгол. 2. Pascal появился раньше в Европе, C позже и в Америке. 3. На языке Pascal как и C были написаны(!) Операционные Системы. 4. Процессор IBM PC - создавался фирмой IBM как Pascal машина, Pascal ориентированный процессор. 5. Язык Object Oriented Pascal (OOP) появился намного раньше, чем C++. 6. Windows 95, Windows 98 НАПИСАНЫ на PASCAL. 7. Библиотеки в ранних версиях MS VC++ были написаны на PASCAL. 8. Язык C# был разработан для MS компанией Borland. И у компании Borland есть своя версия языка C#. 9. Язык Pascal ОЧЕНЬ приближен к HardWare и позволяет делать вставки на ассемблере. Смотри пункт 3. Все это жесткие и обще известные факты, очень легко проверяемые ... P.S. OS для MAC PC писалась на Pascal. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2008, 14:37 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
kvakun6. Windows 95, Windows 98 НАПИСАНЫ на PASCAL. 7. Библиотеки в ранних версиях MS VC++ были написаны на PASCAL. 8. Язык C# был разработан для MS компанией Borland.... P.S. OS для MAC PC писалась на Pascal. А можно ссылки по пунктам 6, 7 и 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2008, 11:01 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Все это жесткие и обще известные факты Какие еще нужны "ссылки"???!!! Жесть и точка! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2008, 11:56 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
kvakun3. На языке Pascal как и C были написаны(!) Операционные Системы. Какие именно? kvakun6. Windows 95, Windows 98 НАПИСАНЫ на PASCAL. 7. Библиотеки в ранних версиях MS VC++ были написаны на PASCAL. 8. Язык C# был разработан для MS компанией Borland. И у компании Borland есть своя версия языка C#. Откуда такие сведения? Источники, плиз, в студию! kvakun9. Язык Pascal ОЧЕНЬ приближен к HardWare и позволяет делать вставки на ассемблере. C/C++ этого не даёт делать? kvakunВсе это жесткие и обще известные факты, очень легко проверяемые ... А вы знакомы с особенностями работы с памятью и приведении данных из памяти из одного типа к другому типу? Сложновато реализовано в паскале это дело (хотя автор обосновывал это защитой программиста от нетипичных ошибок C-программиста). Так что, IMHO, паскаль менее гибок чем C и уж тем более C++. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2008, 21:23 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
Старый фоксист kvakun3. На языке Pascal как и C были написаны(!) Операционные Системы. Какие именно? а какие не именно? Старый фоксист kvakun6. Windows 95, Windows 98 НАПИСАНЫ на PASCAL. 7. Библиотеки в ранних версиях MS VC++ были написаны на PASCAL. 8. Язык C# был разработан для MS компанией Borland. И у компании Borland есть своя версия языка C#. Откуда такие сведения? Источники, плиз, в студию! и Вас хотелось бы попросить - ссылки в студию Старый фоксист kvakun9. Язык Pascal ОЧЕНЬ приближен к HardWare и позволяет делать вставки на ассемблере. C/C++ этого не даёт делать? дает и что? Старый фоксист kvakunВсе это жесткие и обще известные факты, очень легко проверяемые ... А вы знакомы с особенностями работы с памятью и приведении данных из памяти из одного типа к другому типу? Сложновато реализовано в паскале это дело (хотя автор обосновывал это защитой программиста от нетипичных ошибок C-программиста). Так что, IMHO, паскаль менее гибок чем C и уж тем более C++. а Вы профи в паскеле? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2008, 20:59 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
нерв зарегистрируйся для начала, во-вторых обоснуй свои высказывания раз уж против общеизвестных фактов выступаешь. Или кончай сюда флудить. Нет никакого желания читать анонимные глупости непонятно кого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2008, 21:47 |
|
||
|
VFP9.0 - It sounds good!
|
|||
|---|---|---|---|
|
#18+
нерв Старый фоксист kvakun3. На языке Pascal как и C были написаны(!) Операционные Системы. Какие именно? а какие не именно? Вы хотите пофлеймить или поприкалываться? Вопрос простой: какие операционные системы были написаны (реально) на паскале? нерв Старый фоксист kvakun6. Windows 95, Windows 98 НАПИСАНЫ на PASCAL. 7. Библиотеки в ранних версиях MS VC++ были написаны на PASCAL. 8. Язык C# был разработан для MS компанией Borland. И у компании Borland есть своя версия языка C#. Откуда такие сведения? Источники, плиз, в студию! и Вас хотелось бы попросить - ссылки в студию Вам ссылки на что нужны? Автор написал откровенную чушь, ответов от него нет, а вместо него появились вы, по все видимости в качестве адвоката? Все библиотеки у майкрософта, начиная с ранних версий MS-DOS (начнём с версии 5.0) были писаны на C/C++ одноимённого же производства. Для этого следует всего лишь заглянуть внутрь файла, чтобы увидеть это. нерв Старый фоксист kvakunВсе это жесткие и обще известные факты, очень легко проверяемые ... А вы знакомы с особенностями работы с памятью и приведении данных из памяти из одного типа к другому типу? Сложновато реализовано в паскале это дело (хотя автор обосновывал это защитой программиста от нетипичных ошибок C-программиста). Так что, IMHO, паскаль менее гибок чем C и уж тем более C++. а Вы профи в паскеле? 15 лет назад на нём писал. А что? С тех пор кто-то выпускал ещё паскаль и что-то кардинально изменилось? Только не упоминайте Delphi - это совершенно другой язык. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2008, 22:44 |
|
||
|
|

start [/forum/topic.php?all=1&fid=41&tid=1587808]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
82ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
151ms |
get tp. blocked users: |
2ms |
| others: | 225ms |
| total: | 506ms |

| 0 / 0 |
