|
|
|
(C#) Интересно, хорошо это или плохо...
|
|||
|---|---|---|---|
|
#18+
Flex0 автор и считать данные периодически, по факту их возникновения А как ты используя фокс, узнаешь что что-то изменилось в данных. MS SQL не берем в рассмотрение, изменились данные , просвятите меня о великие и могучие программисты на VFP, запросто управляющие событиями операционной системы и на 1.5 секунд ворочащие запросы в мегабайты с разных серверов, просвятите как же это делаеться ?А зачем мне узнавать? Я буду тупо долбиться: "дяденька сервер, а не появилось ли у тебя часом чего-то новенького, что мне уже можно было бы обсчитать?" Через секунд 20 - опять: "дяденька сервер..." ну и т.д. Если не появилось - ну и ладно. Если появилось - берем порцию данных, обсчитываем, записываем в обсчитанном виде в dbf и где-то там, или у себя, или на сервере помечаем, что эти данные уже обсчитаны. А иногда бывает можно сам сервер научить отдавать данные кучками. Тогда задача обсчетного модуля еще более упрощается. "ищем кучку" - если нашли, обсчитываем - "ожидаем" - "ищем кучку" - и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2005, 23:41 |
|
||
|
(C#) Интересно, хорошо это или плохо...
|
|||
|---|---|---|---|
|
#18+
Не прокатит. С таким подходом вычти из отдела 1 мощную машину, если это будет делать фокс - то парализованная машина только этим и будет заниматься. А на счет : " Через секунд 20 - опять: "дяденька сервер..." ну и т.д. Если не появилось - ну и ладно. Если появилось - берем порцию данных, обсчитываем, записываем в обсчитанном виде в dbf и где-то там, или у себя, или на сервере помечаем, что эти данные уже обсчитаны. А иногда бывает можно сам сервер научить отдавать данные кучками. Тогда задача обсчетного модуля еще более упрощается. "ищем кучку" - если нашли, обсчитываем - "ожидаем" - "ищем кучку" - и т.д." - отец, тут столько нюансов, что такой подход треснет хотя бы потому что не факт что запрос будет выполняться 20 сек. А если у тебя одновременно подключилось 200 межгрода и 300 а 1000 ? И это не тупая таблица и а у каждого абонента есть лицевой счет и 6 месячная история и если абонентов от 500 тысяч до 1 млн. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2005, 23:55 |
|
||
|
(C#) Интересно, хорошо это или плохо...
|
|||
|---|---|---|---|
|
#18+
Flex0Не прокатит. С таким подходом вычти из отдела 1 мощную машину, если это будет делать фокс - то парализованная машина только этим и будет заниматься.Почему это не покатит? Да пусть хоть три машины только этим занимаются - система-то нешуточная! Или денег на еще 3 рабочие станции при таких объемах бизнеса жалко? ;-) Flex0отец, тут столько нюансов, что такой подход треснет хотя бы потому что не факт что запрос будет выполняться 20 сек. А если у тебя одновременно подключилось 200 межгрода и 300 а 1000 ? И это не тупая таблица и а у каждого абонента есть лицевой счет и 6 месячная история и если абонентов от 500 тысяч до 1 млн.Ну, во-первых, кучки нужно формировать такие, чтобы их можно было унести. То, что не смогли - унесем в следующий раз. А во-вторых, зачем компании нужны сисадмины и системный архитектор: как раз за этим самым - диагностируют, что производительность расчетных станций в моменты пиковых нагрузок недостаточная и предложат выход из положения. В то же время увеличатся задержки предоставления клиентам (не исторических, а только свежих, кстати) данных в часы пик. Когда задержки станут очень большими, появятся недовольные клиенты - тут руководство быстро сообразит, что тянуть с воплощением предложенного решения не стоит. Вообще, нюансов и правда много. Но предложенный подход вполне реализуем и жизнеспособен (и даже на одном только FPD, кстати, не нужны никакие "новые технологии" - это чтобы совсем утрировать). А подстраиваться под нюансы - ну дык, за это разработчикам зарплату и дают, не так ли? ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2005, 00:32 |
|
||
|
(C#) Интересно, хорошо это или плохо...
|
|||
|---|---|---|---|
|
#18+
FoxProHater! Приведенная Вами ситуация с добавлением в пользовательский класс свойства - массива имеет место быть (факты – вещь упрямая). Но ничего здесь страшного, лично я - не вижу, если просто знать, что все элементы свойства-массива, при добавлении его в класс - будут иметь значение первого элемента. Кто Вам запрещает написать, например - так: DIMEN ar1[3] ar1[1]=1 o1=creat([custom]) o1.addproperty([items(3)],@ar1) * Здесь все элементы свойства-массива = 1 o1.items(2) = 2 o1.items(3) = 3 *А здесь все элементы свойства-массива, что было нужно Я конечно, понимаю, что Вы скажете – это было Вам известно, но как уже устали, от подобных разборок «этих полетов». Такое или подобное есть в любом языке программирования. Могу привести пример, когда Excel XP выкидывает подобные штучки, но мое отношение и любовь к нему, как мощнейшей и удобной электронной таблице нисколько не изменилось. Компактный код не приведу, но задача такая: нужно программно раскрасить разными цветами, например, синим - фамилию, а вот имя и отчество должно остаться – черным цветом. Формируется таблица, где в колонке 2 - ФИО. Создается объект типа loExcel = CreateObject("Excel.Application") Сканируются строки этой таблицы. lnNomStr - № строки lnLenFam – длина фамилии (определяю ее как цикл по полю ФИО, до первого пробела) loExcel.Cells(lnNomStr, 2).Characters(1, lnLenFam).Font.Color = RGB(0,0,255) Так вот эта конструкция работает правильно, только для первой строки таблицы, Для последующих – красит все символы. Ну пришлось определить еще с какого символа начинается имя и отчество и сделать - loExcel.Cells(lnNomStr, 2).Characters(lnNaPosNoColor, lnLenOst ).Font.Color = RGB(0,0,0) и что мне теперь кричать, что Excel никуда не годиться или как? Я уверен, что если хорошо копнуть, то в .NET найдется что-то подобное! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2005, 03:14 |
|
||
|
(C#) Интересно, хорошо это или плохо...
|
|||
|---|---|---|---|
|
#18+
Насчет биллинга... Видел в Америке такую задачу (точнее что от нее осталось) - все примерно как описал Urri, работала на чистом FPD 2.6, Абонентов что-то около полумиллиона, таблицы разбивались определенным образом по времени, так-как там платят за все звонки, даже местные... Но крутые топ-менеджеры решили все переделать под Oracle - толи там кто-то кому-то проплатил, толи кто-то кого-то убедил... Система стала намного дороже, немного медленнее, но суть ее не изменилась Как признался мой американский знакомый - до сих пор никто не поймет, зачем все это сделали... Бизнес - вещь странная, даже у них... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2005, 09:26 |
|
||
|
(C#) Интересно, хорошо это или плохо...
|
|||
|---|---|---|---|
|
#18+
Эпиграф: © И. Ильф & Е. Петров "12 стульев" " - Не учите меня жить, парниша!" (Эллочка-людоедка своему мужу инженеру) "Лучше - помогите материально..." (дописка на полях неизвестного автора) © А. Конан-Дойль "Собака Баскервилей" & одноименный фильм. " - За кого меня принимают в этой гостиннице?! За дурачка?! (стучит себе туфлем по лбу) За дурачка! (садится в кресло перед камином)" (сэр Генри - мистеру Ш. Холмсу) Я смотрю, что отношение к моим выступлениям в этой ветке большей частью формируется на основании тех примеров, которые я привожу в качестве аргументов чтобы показать явную "неадекватность" FoxPro как среды программирования... ВладимирМ...Вы действуете по принципу "вымыть и выбросить". ... сознательно создаетет конфликтные ситуации и ожидаете, что среда разработки как-то сама "разрулит" этот конфликт. ...попытка программирования в любой среде вне идеологии этой среды приведет к большим проблемам. ...Вы пытаетесь в Англии ехать по правой стороне дороги и ругаете англичан, что они не могут ехать "правильно". Сергей, Киев...Кто Вам запрещает написать, например - так. ...Могу привести пример, когда Excel XP выкидывает подобные штучки. ...если хорошо копнуть, то в .NET найдется что-то подобное. Кстати, эта манера ("учить жизни", вместо того, чтобы помочь найти ответ на конкретный вопрос по конкретной проблеме) - очень распространена на этом форуме в целом... Достаточно почитать ответы "профессионалов" на любую тему в большинстве веток типа: "да нафига ты так делаешь?", "да это же - неправильный подход в принципе", "иди почитай литературу" (как вариант - RTFM) и т.д. и т.п. Увы, я уже писал недавно о том, что считаю себя НОРМАЛЬНЫМ человеком, а не параноиком с манией "выворачивания наизнанку" отдельно-взятой среды разработки настольных СУБД. И все мои примеры приведены (от математического смысла - "преобразовывать") до предельной "лаконичности" с парой-тройкой действительно существенных команд, минимально необходимых для воспроизведения "глюка", "ошибки" или "особенности", только для того, чтобы не засорять головы другим людям несущественными деталями реализации в конкретных программных модулях/проектах. Но, видимо, никто не в состоянии - "оценить порыва"... (впору вспоминать пословицу о бисере и свиньях, ничего личного). Ладно, давайте по существу (от сложного к простому): 1. ("удаление статического мембера"): Кто-нибудь в состоянии себе вообразить наличие в рабочем проекте формы-объекта, отображающего бизнес-сущность со множественными наборами взаимосвязанных атрибутов, раскиданными по разным страницам PageFrame? Думаю - многие... Кто-нибудь будет удивляться тому, что существуют еще до сих пор проекты на FoxPro (естественно, писанные не нами), в которых вся (нет, не так... ВСЯ!!!) бизнес-логика "зашита" т.н. "хард-кодом" на процедурах-обработчиках событий в каждом сраном конкретном контроле, отвечающем за тот или иной атрибут бизнес-сущности? Думаю - мало кто... Кто-нибудь может предположить, что со временем развития проекта и добавлением к нему новой функциональности (например: разграничения прав пользователя на доступ к данным бизнес-сущностей) может возникнуть потребность "скрыть" от "нужных" пользователей "ненужные" им страницы? Не уверен, наверное это все равно что - "ездить в Англии по правой стороне дороги"... Так вот, когда дело доходит до "скрыть", то тут-то как раз и начинается самая "концептуальная засада": Во-первых - до конца "по-честному" скрыть все-таки не удается, т.к. оно все-таки "статический мембер", как тут недавно подсказывали, т.е. оно - "торчит" над всем PageFrame-ом этаким "ухом" без надписи, нажать на него нельзя и выглядит это если не "по-уродски", то "глупо" уж точно. Во-вторых - если его не удалять, то вся бизнес-логика "зашитая" на его контролы начнет отрабатывать при его инициализации, в том числе и обращения к серверу, на которые пользователь (уже с "обрезанными" правами) ничего, кроме ошибок от сервера, повествующих о том, что прав у него нет... (нет... и нет... и так до сих пор и нет...), так и не увидит. Кто-нибудь станет возражать насчет того, что существуют еще до сих пор такие "проектные решения" (опять же, придуманные не нами, естественно), для которых лучший способ исправления - "переписать все заново"? Думаю - вряд ли... А работать-то оно все должно "уже вчера", не так ли? Отсюда вывод (ИМХО, единственно верный) - "удалять к едрене-фене!!!", тем более, что удаляется на самом деле вполне "неплохо", только в методе Init основной формы остаются "хвосты", ну да что уж тут рассуждать... мы люди привычные. 2. ("генерация ошибки на сервере после приема результатов"): Тут уж - совсем просто, тут даже гениальнейшие разрабочики FoxPro смогли додуматься до того, что программеру может понадобиться получить за 1 запрос к серверу сразу несколько наборов данных на клиента (sqlresult,sqlresult1,sqlresult2,sqlresult3... знакомо? не напоминает "езду по правой стороне дороги в Англии"?), только вот додуматься до того, что после правильного выполнения сервером первого запроса, или даже второго, или БГ-знает какого по счету, следующий за ним может оказаться с ошибкой, и эту ошибку надо "по-честному" как-то обработать - извините, "ну не шмогла я, не шмогла..." (быват, мы и не такое видали). Про все остальное даже писать не хочется... Просто уясните себе все те, кто так рьяно критикует мой метод представления глюков и багов в FoxPro - все эти, на первый взгляд, "несуразные примерчики" взяты из реальной жизни, обусловлены реальными потребностями, и реально мешают "двигаться дальше"... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2005, 19:51 |
|
||
|
(C#) Интересно, хорошо это или плохо...
|
|||
|---|---|---|---|
|
#18+
FoxProHaterКстати, эта манера ("учить жизни", вместо того, чтобы помочь найти ответ на конкретный вопрос по конкретной проблеме) - очень распространена на этом форуме в целом... Достаточно почитать ответы "профессионалов" на любую тему в большинстве веток типа: "да нафига ты так делаешь?", "да это же - неправильный подход в принципе", "иди почитай литературу" (как вариант - RTFM) и т.д. и т.п Как я понимаю, мало кто задает вопросы на форуме, если у него получается что-то задуманное. И если выносится какая-то проблема и ВАРИАНТ ЕЕ РЕШЕНИЯ, КОТОРЫЙ НЕ ПРИВЕЛ к желаемому результату (или просто – без решения), то естественно могут и спросить – «А зачем ты дружок, штаны через голову одеваешь?» и, зная что, дав ответ на данный вопрос за этим последует другой, из этой же серии, то, что плохого в том, когда дают ссылку где описано комплексное (или похожее) решения его задачи (если таковое существует)? FoxProHaterНо, видимо, никто не в состоянии - "оценить порыва"... (впору вспоминать пословицу о бисере и свиньях, ничего личного). Это почему же, лично в моих глазах Вы выглядите – профессионалом высокого уровня.Если Вам обидно, что никто не признает Вас таковым, то считайте, что я первый.:-) FoxProHaterКто-нибудь станет возражать насчет того, что существуют еще до сих пор такие "проектные решения" (опять же, придуманные не нами, естественно), для которых лучший способ исправления - "переписать все заново"? Думаю - вряд ли... Не примите за обучение, тем более это не я писал, а взято из книги Кена Хендерсона «Профессиональное руководство по Transact-SQL», из-во «Питер», взято из стр.274-276. «… Некоторое время назад я имел несчастье принять предложение о переносе приложения использующую ISAM-базу на SQL Server. Заручившись поддержкой ангела-хранителя и не слишком внимательно изучив код, я принял задачу, наивно полагая, что разработчики создавали приложение в достаточно реляционной и разумной маненере. Конечно, я не ожидал, что код будет превосходным, но предполагал, что они правильно использовали инструменты. Две или три недели я разгребал самый ужасный код, который когда-либо видел…Проблемы нарастали как снежный ком, и я в конце концов решил махнуть рукой на преобразование базы для SQL Server….» (наверное среда SQL Server кривовата) «..Необходимо иметь мужество, чтобы сказать:”перенос займет определенное время; приложение следует заново спроектировать или переписать”- чаще всего это лучший выход. Повторно изобретать колесо хорошо, даже необходимо, если колесо до этого было квадратным. …Представьте выполнять быстрые преобразования тем, кто говорит:”никогда нет времени сделать что-то хорошо, но всегда находится время, чтобы переделать”». Как я понял Вас, что-то похожее. FoxProHaterПросто уясните себе все те, кто так рьяно критикует мой метод представления глюков и багов в FoxPro - все эти, на первый взгляд, "несуразные примерчики" взяты из реальной жизни, обусловлены реальными потребностями, и реально мешают "двигаться дальше"... Ваш метод пронизан глубокой ненавистью к продукту с которым имеете несчастье работать. Ну и наверное, Вы просто своему начальству доказывали не состоятельность Foxа как среды программирования без привлечения эпиграфов, а так бы оно бы давно согласилось перейти в среду программирования в которой Вы бы себя комфортно чувствовали и можно было бы легко исправлять все ошибки заложенные еще на стадии проектирования.:-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2005, 21:46 |
|
||
|
(C#) Интересно, хорошо это или плохо...
|
|||
|---|---|---|---|
|
#18+
То Sergey Ch: Одинаково криво систему можно сделать что на Оракле, что на Фоксе. Они -не думают, они для того чтобы воплотить мысль в реальность ( это лирика, общедоступная, которую Вы прекрасно понимаете), и не уверен, в данном конкретном случае, что речь зашла о сравнительной характеристике СУБД, ака Фокс и Оракл, скорее всего о компетенции разработчиков систем биллинга ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2005, 21:55 |
|
||
|
(C#) Интересно, хорошо это или плохо...
|
|||
|---|---|---|---|
|
#18+
Hi Flex0! Насчёт "событийного" механизма - скажи КАК ты это делаешь в C# и я скажу тебе как это можно сделать в VFP :) Через оконные сообщения? Пожалуйста! Через объекты синхронизации ядра (Mutex/Event/Semaphore)? Пожалуйста! Через TCP соединение, или UDP пакет на определённый порт? Пожалуйста! Девайс подключен через COM порт? И тут никаких проблем! Ну скажи, не таи, чего ты думаешь такого нету в фоксе, что не позволит решить задачу "правильно"? "Конвертнуть из Hex" - а что именно конвертнуть то? Из какого формата в какой? Строки в BASE64? Числа в Integer (4 байта), Double (8 байт), или любых иных форматах? Да не вопрос! Например тривиальнейший код - разбор dbf на низком уровне в цикле с помещением результата в кусрор (т.е. как простого потока байт - структура то его известна) - из файла размером 1.6 Мб (100000 записей 2 Integer поля и 1 Double - т.е. 17 байт на запись) занимает 2.1 секунды. Естественно что данные проходят конвертацию из Hex представления обратно в числа (в VFP9 значительно дополнен функционал CTOBIN() что помогает в этом деле). Теперь наверное вы будуте утверждать что у вас поток данных значительно больше, и фокс, даже если предположить что он "100 времени только и занимается что разбором HEX файла" не справится? Считаем - 1Мб в секунду, да за год - 30 Террабайт... И как после этого расценивать ваше заявление? Ну хорошо, спишем на "он не знал", иначе получится очень грубо. Заметь, что я даже не пытался применить болещненный приём - написать алгоритм разбора в виде fll на том-же C, оставив фоксу работу с уже декодированными и готовыми к употреблению данными... > Достижимо - да не про "вашу честь". На фоксе это не делаеться. А если > делает кто-то, то видио просто ничего другого не знает. Видимо кто-то просто действительно не знает КАК и ЧТО можно делать на фоксе, но не будем пока тыкать пальцами... > Вы видимо просто не знаете, что такие системы - это не просто программки, > а программно- аппаратные комплексы. За 1.5 секунд, снять данные с диска, > допустим станции SI2000, конвернуть из НЕX в форат понятный для восприятия > и посчитать. Ну не смешите меня :) Вообще-то писать драйвера для железок на фоксе никто и не предлагал никогда (это на случай если у АТС нету совсем уж никакого своего интерфейсного ПО, что вряд-ли) - а вот заняться разбором, анализом и хранением снимаемой информации - да запросто! > если бы у вас были событийно - управляемые системы VFP есть событийно управляемый язык. Кроме того практически вся мощь WinAPI к твоим услугам. Или это "не кошерно" :) > Ну что-то типа на каждый звонок по демону , как в Linux, я бы вас понял, > но в фоксе такую систему сделать нет , увы никакой возможности. Не надо говорить, если не заешь... Кроме того ты сначала расскажи как можно сделать daemon для Linux на C# :) И вообще как можно более-менее нормально состыковать этот инструмент от MS с UNIX архитектурой - а то уж совсем не в ту степь заехал батенька :) Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2005, 00:56 |
|
||
|
(C#) Интересно, хорошо это или плохо...
|
|||
|---|---|---|---|
|
#18+
Hi FoxProHater! >> 1) Никто ничего не скрывает. Информация вполне доступна. > От тебя я еще ни разу не сподобился увидеть/узнать что-либо про реальные > проблемы FoxPro Начнём с того, что я например увидел тебя лишь неделю назад :) Хотя конечно вполне возможно что под другой кличкой или чем чёрт не шутит под настоящим именем :) и ранее видел - но ты ж шифруешься зачем-то... Вообще "анонимы" у меня как-то сразу подозрения вызывают - честному человеку незачем своё имя прятать, да и не шайка тут вроде, чтобы "погонялами" пользоваться :) Ладно - дабы не было необоснованных претензий - иди на forum.foxclub.ru и сделай поиск по BUG: в заголовке - должен найти парочку отрапортованных мной проблем. Читать конечно всё моё "творчество" на предмет того что лично я считаю багами, что - неудачными решениями и просто что хотел бы изменить - думаю не стоит - разве что ты захочешь стать моим биографом Но поверь уж на слово - я никогда не стремился скрыть какую-то проблему - коенчно если ты не считаешь желание подсказать способ решения проблемы "сокрытием истинны", или приведение цитаты из хелпа, которая говорит в точности то о чём кое кто (не ты один, хотя может это и в другом месте ты был???) громко кричит - "Ба, я новый глюк нашёл! Подывытыся люди добрые!" > Пока что, на сегодняшний момент, в моих личных более чем 5К строк кода на > C# - даже одного несчастного глюка не набралось. 5К или 5M??? Что-то маловато - одна мелкая программулька что-ли? Ты там вообще хоть попробовал свои классы написать, интерфейсы и наследование как следует пощупать? > Когда "нарою" со временем - может быть напишу об этом в ответ на твое > сообщение со списком глюков FoxPro, которые известны тебе Это достаточно большой список получится :) Даже если брать ТОЛЬКО то что осталось неисправленным в последней версии... Правда большей частью это просто "забавные фишки" - до которых чтоб додуматься надо либо очень долго программить на фоксе, либо иметь ну о-о-очень нестандартное мышление... Образчики которго ты кстати и демонстрируешь :) По крайней мере в первой части - ибо последние "якобы глюки" это уж совсем наглое объявление чётко прописанного поведения "страшным глюком". Однако мне кажется что ты теперь не будешь уже утверждать что в NET ошибок нету :) > Советую обратить внимание на "исследования" Сергея из Киева Понятия не имею как и что он "исследовал", но вообще-то в VFP7SP1/VFP8SP1/VFP9 поведение абсолютно одинаково - откуда не вызывай, и как не проверяй - свойство-ссылка (полумёртвая, или точнее "не совсем ссылка") существует... И разницы между проверкой из Init и из любого метода/процедуры вызываемой "потом" нету. > Тем более, что делать 1-но свойство одновременно и счетчиком элементов > коллекции и признаком автогенерации каких-то внутренних мемберов - это > безусловно очень "профессиональный" подход к реализации программной > платформы... Зато чайникам более понятно :) А то с тем-же комбо - каких-то 5 свойств, и то постоянно чего-нить не так настроят... Судить же MSFT за такое решение не стоит - видимо тогда оно им казалось красивым и логичным... Равно как и запихивать совершенно разные "настройки" в тот-же RecordSource/RowSource (в зависимоcти от соседнего свойства ....Type) например. В NET такое не пройдёт из-за строгой типизации - им и в голову не придёт, что в одно и то-же свойство можно поместить и спосок значений, и SQL запрос :) Хотя IMHO это весьма удобно. > Вам еще не доводилось встречать программную среду, в которой при > копировании массива - изменяются значения внутри него Из хелпа по AddProperty: You can also create property arrays for an object. Every element in the property array is initialized to eNewValue if it is included; otherwise every property array element contains False (.F.). По-моему всё предельно ясно написано. Ни о каком "копировании массива" речи не идёт. Вообще чётко сказано про одно скалярное значение! Если же принять во внимание особенности рабты с массивами в фоксе, то даже теста никакого проводить не нужно. чтобы понять КАК ДОЛЖЕН работать приведенный код. Ключевое слово выделено :) > или, например, при закрытии стандартного диалога С чего ты взял что это стандартный диалог? Я таких не знаю (который осуществляли бы поиск файла по куче каталогов, перечисленной в SET PATH). Стандартный (и то с кой какими оговорками - т.к. всё-же это враппер) это например GETFILE(). > система генерирует ран-тайм ошибку В строгом соответствии с хелпом... > Оно, конечно, в документации про такие "мансы" все-таки написано (куда ж > деваться-то, надо же как-то "баги" переводить в "фичи"), только мне уже > надоело изучать разделы Remarks на каждый "пук", о чем и пишу тут с > рвением, достойным лучшего применения... Могу лишь повторить давно сказанное - не надо себя насиловать - смени работу, начни писать в той среде, которая доставляет тебе удовольствие! А насчёт Remarks - открой 10 страничек помощи по методам/свойствам в C#, открой практически любую MSDN статью по WinAPI и посмотри есть там секция Remarks или нету. До тех пор я буду считать твои слова лишь пустым сотрясанием воздуха... Насчёт MS SQL если получится то завтра на работе посмотрю, ну нету её у меня дома... > О-СА-Н-Н-Н-Н-НА-А-А-А!!! (руки - горе, ладонями вперед), в 9-й версии эту > ошибку таки "побороли", не прошло и 10-ти лет существования VFP-6-7-8, как > "добрые" разработчики разглядели "под самым носом" то, что не имеет > прямого отношения к DBF-кам... Скажем так - если я работаю с Oracle (IB, DB2, MySQL и т.п.) то какое мне дело до особеностях взаимодействия MS SQL ODBC драйвера и фокса? У меня лично никаких "нерешаемых" проблем с Oracle не было. Лишь кое где не хватало знаний - но это уж никак не проблема среды... > надпись: "стр. Х из У" Да уж, настолько принципиальный вопрос что аж жуть :) Ты может быть знаешь инструменты, способные посчитать этот параметр не прогнав отчёт ПОЛНОСТЬЮ хотя-бы раз? Может от самого БГ они заранее число страниц знают? А если нет, то какая разница прогоняется он автоматически (как в новых версиях), или "вручную" как в старых? >> Вообще-то ADODB обычно работает не с ODBC драйвером, а непосредственно с >> Ole DB провайдером. > Угу (все как обычно, источник "профессионализма" - агенство ОБС), попробуй > набрать в командном окне FoxPro (скажешь мне потом, что получил, и что это > значит?): > c1 = creat([adodb.connection]) > ?c1.Provider Microsoft OLE DB Provider for ODBC. И что ты хотел сказать то, я не понял... То что нужно в фоксе использовать ADO для того, чтобы потом через него использовать ODBC драйвер? Ну это конечно знатное извращение, но разве это противоречит тому что я написал? Или смысл слова "обычно" неясен? Или некто не в курсе про существование "Microsoft OLE DB Provider for SQL Server", "Oracle OLE DB Provider" и прочих? Ну так сделай пустой файлик test.udl и "открой" его проводником - посмотри сколько у тебя на машине разных OLE DB провайдеров... Можешь даже потом сравнить с числом имеющихся ODBC драйверов (только убери алиасы, и не считай пожалуйста всё то что ссылаются скажем на odbcjt32.dll РАЗНЫМИ ODBC драйверами...) Может быть ты просто не знаешь как указать для ADO использование нужного тебе OLE DB провайдера? Но скорее всего ты прекрасно всё знаешь, и просто разводишь демагогию... Чес слово, если бы не отпуск фиг бы я разговаривал о совершенно пустом. > Угу, только фунции типа SQLXXXX() даже не спрашивают о том, какой > "драйвер" или "провайдер" будем использовать? Как это не спрашивают??? Ещё как спрашивают - если указать пустую строку. > ODBC, милай, ODBC... и ничего другого не выберешь... Другой ODBC и выберешь :) А насчёт провайдеров и OLE DB - ты в хелпе видел хоть пол-слова о том что через эти функции можно работать с ADO или непосредственно с OLE DB? Там везде чёрным по белому написано ODBC... "Не ну конечно Феррари это не машина а г... ведь она не умеет летать... А? Что? В манауле написано что и не должна? Всё равно г..." > Еще раз повторю свое личное мнение - ошибки в .NET это исключения (почти > каламбур получился, насчет Exception), а ошибки в FoxPro - это ПРАВИЛО > (именно так, со всех заглавных букв) Вот ведь чудеса - для меня те ошибки о которых ты тут так усиленно говоришь - это ВООБЩЕ ни разу не происходившие ошибки :) Даже с учётом того, что я и не обо всех их знаю. Может быть проблема не в языке, а в индивидууме его использующем? А происходят (и замечательно обрабатываются кстати говоря) ошибки типа 108,109, 1526 и т.п. Ну как и должно быть в принципе :) > З.Ы. я вот, смотрю, что дискуссия плавно перетекла в русло обсуждения > "движков" SQL... Ребяты, ей-БГ, не суйтесь, пжлст, на поле серверов БД со > своим "тряпичным мячом", разорвут... Ты видимо тоже готов показать СУБД, способную ШТАТНЫМ Insert-ом (а не bcp или ещё каким-то "боковым ходом") вставить 100000 записей за менее чем 5 секунд? Вперёд! Факты давай! А то опять получается пустое сотрясание воздуха... При этом официально продаваемую за < 700$ (И СУБД И среда разработки под неё) при НЕОГРАНИЧЕННОМ её использовании - да хоть ты каждому россиянину напиши программу и продай - MS с тебя за это больше ни копейки не возьмёт... MySQL насколько я понимаю для коммерческого использования уже вовсе не бесплатна... MS SQL - ну посмотри сколько нужно заплатить за одну клиентскую лицензию, MSDE - 4Гига на ВСЮ базу (облагодетельствовали в новой версии), Max 5 потоков исполнения клиентских запросов, нет FTS, нет административных инструментов - и вообще это лишь наживка для "подсаживания" простаков на MS SQL... > Вспомните, например, еще такое "преимущество", как - "интерпретируемость > готового кода"... может быть, хоть это кому-нибудь счаз будет > "интересно"/"полезно"? Хотя, даже на этом "поле" .NET уже впереди - > System.CodeDom.Compiler.CodeDomProvider это вам не "макроподстановка" > через "оператор" - &... Да, это типа COMPILE, хотя обёртка EXECSCRIPT() иногда удобнее... Ты наверное хотел сказать что в фоксе такого нету, ну вот опять не прав... Или может ты хотел сказать что это никому не нужно? Но зачем-же тогда MS это встроило в NET? Помоему ты начал сам себе противоречить. Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2005, 00:59 |
|
||
|
(C#) Интересно, хорошо это или плохо...
|
|||
|---|---|---|---|
|
#18+
Hi FoxProHater! > Эпиграф: © И. Ильф & Е. Петров "12 стульев" > " - Не учите меня жить, парниша!" (Эллочка-людоедка своему мужу > инженеру) > "Лучше - помогите материально..." (дописка на полях неизвестного > автора) Это точно про тебя! Тебя же не интересует как решить проблему - тебе лишь бы красное словцо замолвить! Fox плох и точка. Ну что-ж пожалуй каждый имеет право на ненависть :) > Я смотрю, что отношение к моим выступлениям в этой ветке большей частью > формируется на основании тех примеров, которые я привожу в качестве > аргументов чтобы показать явную "неадекватность" FoxPro как среды > программирования... Т.е. дабы тебя убедить, нужно показать явно неадекватный C# код, и потом сказать - "Вах какая кривая среда, она на таком прекрасном кода падает/глючит/не так как надо работает" да? > Кстати, эта манера ("учить жизни", вместо того, чтобы помочь найти ответ > на конкретный вопрос по конкретной проблеме) Тебе нужен ответ? Ты с моими ответами что сделал? Молча проигнорировал - нет, у тебя есть МНЕНИЕ и все вокруг, пытающиеся сказать что оно неверно - это видимо идиоты не видящие "свет истины"... > очень распространена на этом форуме в целом... Достаточно почитать ответы > "профессионалов" на любую тему в большинстве веток типа: "да нафига ты так > делаешь?", "да это же - неправильный подход в принципе", "иди почитай > литературу" (как вариант - RTFM) и т.д. и т.п. И что? Если некто сморозил явную чушь - то что по твоему нужно делать? Сказать "Ах какой гениальный код, жаль фокс настолько убог, что не понимает этой гениальности" :) Когда человеку советуют как сделать так, чтобы НОРМАЛЬНО РАБОТАЛО - это IMHO и есть полезный ответ. А хелп читать - как видим даже после 7-ми летнего пользования фоксом это не повредит - ибо кто-то не читает, а кто-то видимо не понимает английских буковок мануала... Ради интереса зайди на foxclub и почитай опус ведущийся от некоего kvant9 - и ДАЖЕ такому посетителю стараются ответить доходчиво и точно - хотя практически ВСЕ его вопросы достаточно подробным образом освещены в хелпе, и уж если не там, то ПОИСКОМ точно можно найти это... > Увы, я уже писал недавно о том, что считаю себя НОРМАЛЬНЫМ человеком Увы, увы, поведение очень настораживает... Извини, но совсем неадекватная реакция порой... Видать действительно НЕНАВИСТЬ так сильна, что затмевает рассудок. > Ладно, давайте по существу (от сложного к простому): > 1. ("удаление статического мембера"): Т.е. если упростить текст: Есть криво написанная система, которую ты пытаешься лечить экстремальными способами - естественно что это не очень получается - главный вопрос - КТО ВИНОВАТ? Видимо среда, которая на подобного рода вмешательство (вспомнилось почему-то про вырывание гланд через отверстие с другой стороны тела) не совсем адекватно реагирует. > Так вот, когда дело доходит до "скрыть", то тут-то как раз и начинается > самая "концептуальная засада": Концептуальная засада возникла когда так сделали систему - всё остальное - это вытекающее из того :) > Во-вторых - если его не удалять, то вся бизнес-логика "зашитая" на его > контролы начнет отрабатывать при его инициализации Вообще-то при, ТВОЁМ способе все Init контролов УЖЕ отработали к момену "вырывания гланд" так что эффекта ноль... > Кто-нибудь станет возражать ... лучший способ исправления - "переписать > все заново" И что? Что мешает то? Перепиши по нормальному и забудь про все эти глюки! > А работать-то оно все должно "уже вчера", не так ли? "Работать" или "делать вид что работает"? Видимо вы хотите взять скажем MS-DOS, объявить его ОС реального времени и героически сражаться с "глюками" которые таковыми и не являются! просто это не та программа! > 2. ("генерация ошибки на сервере после приема результатов"): Т.е. получать ответы по одному - это убого и неправильно, а получать их в батче - единственно верный путь, так? Ладно, завтра проверим что там не так с обработкой ошибок... > Просто уясните себе ... обусловлены реальными потребностями, и реально > мешают "двигаться дальше"... Ага, типа "почему человек не летает как птица" - это мне мешает жить дальше :) Сделай по другому!!!! И забудь про ошибки! Нет же - надо мазохизмом позаниматься - постоянно в закрутую дварь, и всё лбом и лбом... Ясен пень что после этого не только НЕНАВИСТЬЮ к фоксу заболеешь :) Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2005, 01:52 |
|
||
|
(C#) Интересно, хорошо это или плохо...
|
|||
|---|---|---|---|
|
#18+
2Люто-Ненавистнику фокса :)) А как Вам такая "фича" C#.VS2003 ? В Main пишем Application.EnableVisualStyles ( надеюсь знаете что это ? ), "грузим" руками иконки в ImageList, связываем ImageList c TreeView - вроде все классно :) Запускаем на выполнение и ...офигенный экспешн....выключаем Application.EnableVisualStyles и все работает - просту супер Да MS так и не поборола этот глюк и приходиться грузить либо из файлов ( круто да ? ) либо из дополнительного файла ресурсов. Ах, да про Application.DoEvents() говорить ? И можно говорить до бесконечности сходив на gotdotnet или rsdn.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2005, 06:16 |
|
||
|
(C#) Интересно, хорошо это или плохо...
|
|||
|---|---|---|---|
|
#18+
2 YuriWhite: Бесполезно. Все это будет объявлено "болезнями роста". Непонятно только почему к "болезням роста" такое благосклонное отношение если работать должно "еще вчера"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2005, 09:26 |
|
||
|
(C#) Интересно, хорошо это или плохо...
|
|||
|---|---|---|---|
|
#18+
авторНасчёт "событийного" механизма - скажи КАК ты это делаешь в C# и я скажу тебе как это можно сделать в VFP :) Через оконные сообщения? Пожалуйста! Через объекты синхронизации ядра (Mutex/Event/Semaphore)? Пожалуйста! Через TCP соединение, или UDP пакет на определённый порт? Пожалуйста! Девайс подключен через COM порт? И тут никаких проблем! Ну скажи, не таи, чего ты думаешь такого нету в фоксе, что не позволит решить задачу "правильно"? 1) Насчет событий: У вас даже механизма установки в систему ХУКА или CALLBACK функций на события. А ваш глючный BINDEVENTS можешь списать в отстой. Он не везде и не всегда работает. Хотя конечно, проблем бы было меньше , можно было прицепить смой метод на WMI. 2) Ну порт ты наверное сможешь заюзать, но! Только в синхронном режиме. Без automation или FLL увы, ничего не выйдет. 3) TCP соединение, или UDP пакет на определённый порт, таже песня. 4) А уж на счет работы с примитивными API структурами, которые имеют член- ссылку на другую структуру, так тут без лишних телодвижений тожно не обойтись. 5) Ну напиши на VFP системный сервис допустим, не СOM exe а именно сервис, чтоб права имел и стратовал даже если сервер отлогинен под установленной учетной записью, тогда я брошу все силы на изучение VFP. Все что я озвучил, в С# и VC++ делаеться без лишних телодвижений, потому при желании заходим на форум по теме и читаем решения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2005, 09:40 |
|
||
|
(C#) Интересно, хорошо это или плохо...
|
|||
|---|---|---|---|
|
#18+
2Flex0 Опять хаем VFP за то, что он не может ( или может с трудом ) делать того, для чего не предназначен...Это сильно :( Меня умиляет, что в вину VFP ставят то, что на нем не написать драйвер :)) Так держать :( Мне например тока в воспаленном бреду придет в голову мысли писать системный сервис, драйвер и прочее на VFP .... Хотя серис можно сделать на C++, а из него дергать прогу на VFP, если сервис интенсивно работает с БД. Про TCP, UDP и прочее ( уже 25 раз ) пишем DLL на VC++ BCB, подключаем к VFP и радуемся жизни...это для примера... Пожалуста, приведите мне пример кода на C# выборка данных с SQLServer и выгрузка их в DBF. Как мне кажется, это более распростаненная задача, чем системный сервис ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2005, 09:54 |
|
||
|
(C#) Интересно, хорошо это или плохо...
|
|||
|---|---|---|---|
|
#18+
2Flex0 Ах да, забыл Win32 DLL этож ан-менджмент код....простите :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2005, 09:56 |
|
||
|
(C#) Интересно, хорошо это или плохо...
|
|||
|---|---|---|---|
|
#18+
авторОпять хаем VFP за то, что он не может ( или может с трудом ) делать того, для чего не предназначен...Это сильно :( Меня умиляет, что в вину VFP ставят то, что на нем не написать драйвер :)) Так держать :( Золотые слова. Задачи есть, механизма их реализации в среде нет :) И это могущественное средство быстрой разработки ? Так сказать перспективное, секретное оружие МS ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2005, 09:59 |
|
||
|
(C#) Интересно, хорошо это или плохо...
|
|||
|---|---|---|---|
|
#18+
2Flex0 Выдергивания фразы из контекста - это уже пахнет демогогией. Быстрой разработке чего ? Уточните. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2005, 10:02 |
|
||
|
(C#) Интересно, хорошо это или плохо...
|
|||
|---|---|---|---|
|
#18+
авторПожалуста, приведите мне пример кода на C# выборка данных с SQLServer и выгрузка их в DBF. Как мне кажется, это более распростаненная задача, чем системный сервис ) Озвучь весь список, что тебе нужно привести ? Это тривиальная задача любого начинающего программиста на .NET. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2005, 10:02 |
|
||
|
(C#) Интересно, хорошо это или плохо...
|
|||
|---|---|---|---|
|
#18+
2Flex0 Код в студию для тривиально задачи :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2005, 10:03 |
|
||
|
(C#) Интересно, хорошо это или плохо...
|
|||
|---|---|---|---|
|
#18+
авторБыстрой разработке чего ? Уточните. А ты кто по професии ? Чем занимаешься ? Что разрабатываешь ? :)) Ну по быстрой разработке баз торпедных катеров, то тогда точно не VFP тут не пригодиться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2005, 10:04 |
|
||
|
(C#) Интересно, хорошо это или плохо...
|
|||
|---|---|---|---|
|
#18+
авторКод в студию для тривиально задачи :) На форуме С# таких решений море :) Ты хочешь умеюли я пользоваться CTL+C, а потом CTL+V ? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2005, 10:06 |
|
||
|
(C#) Интересно, хорошо это или плохо...
|
|||
|---|---|---|---|
|
#18+
2Flex0 Я так понимаю кода не будет....Как приведете код - бум дальше обсуждать. Не будет кода - значит Вы ( а не ты ) просто-напросто балабол, обкурившийся новомодными словами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2005, 10:08 |
|
||
|
(C#) Интересно, хорошо это или плохо...
|
|||
|---|---|---|---|
|
#18+
YuriWhite, я не пойму тебе слабо зайти в форум и воспользоваться поиском ? Это становиться забавным ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2005, 10:12 |
|
||
|
(C#) Интересно, хорошо это или плохо...
|
|||
|---|---|---|---|
|
#18+
5) Ну напиши на VFP системный сервис допустим, не СOM exe а именно сервис, чтоб права имел и стратовал даже если сервер отлогинен под установленной учетной записью, тогда я брошу все силы на изучение VFP . Данная задача решена у нас на работе без всякого использования С++ и иже с ними с подачи Игоря Королева. Он дал направление где искать. Работает как часы ... И стартует, и запускаеться при перезагрузке, и даже при завершении сеанса пользователя на сервере работает .... Во как .... А Вам слабо? Насчет остального не знаю... Так что если мужик отвечайте за базар (подчеркнутое если не понял про что ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2005, 10:59 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33200549&tid=1589346]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
139ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
80ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 494ms |

| 0 / 0 |
