powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Есть ли в С# подобие post в PowerBuilder?
19 сообщений из 19, страница 1 из 1
Есть ли в С# подобие post в PowerBuilder?
    #32505584
Komputilisto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно ли в С-шарп выполнить то, для чего в PowerBuilder служит директива post - то есть чтоб вызываемая функция исполнялась не сразу, а помещалась в очередь и "играла" бы после того, как отыграет вызывающая функция (и все, вызвавшие её?

Например (в PowerBuilder):

if lb_now then
f_the_function() // выполнить функцию немедленно
else
post f_the_function() // поставить функцию в очередь на выполнение
end if

... (остальные строки скрипта)

Обратите внимание - всё в одном thred-е.
...
Рейтинг: 0 / 0
Есть ли в С# подобие post в PowerBuilder?
    #32505600
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что значит в одном thread? Вы в этом уверены?
Даже если обработка и происходит в одном thred, то не без помощи других управляющих thread.

Мне представляется, что тут происходит игра с Windows Message Queue. Добится такого поведения в шарпе можно, как и в С или С++ (копайте в сторону PostMessage), только вот я ни как не могу сфантазировать, а зачем это надо?
...
Рейтинг: 0 / 0
Есть ли в С# подобие post в PowerBuilder?
    #32505849
Komputilisto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Что значит в одном thread? Вы в этом уверены?
Даже если обработка и происходит в одном thred, то не без помощи других управляющих thread."
Я спросил у джавника как это делается в Джаве, и пошла в ответ лекция по высшей математике, что-то со thread-ами. Но в PowerBuilder пишешь всего 4 буковки, и дело сделано, так что это не то.

"я ни как не могу сфантазировать, а зачем это надо?"
В PowerBuilder я этим пользуюсь постоянно, не представляю как без этого. Например, если то-то и то-то, показать юзеру сообщение, но сначала функция, вызвзвшая ту, что я пишу, должна коммитнуть или роллбэкнуть транзакцию, иначе транзакция будет открыта пока юзер не закроет сообщение, а он может и кофе пить пойти - другие ждать будут, что ли? Я пишу в моей функции:

post MessageBox(...)

- и функция MessageBox становится в очередь после той, что закрывает транзакцию.

Начал учить C# (мы переводим аппликацию с PB на .Net - слава великим продавалам из Майкрософта!) и не найду любимый пост. Кстати, впечатление от C# пока отвратительное после PB - что в PB я делал за час работы, тут, видимо, придётся неделю ваять - надо будет взять курс печати вслепую, так как писанины тут побольше, чем в "Войне и мире". Видимо, в Sybase весь фонд зарплат ушёл на разработчитов, а на маркетинг не осталось. Ну да ладно, это не относится к проблеме.
...
Рейтинг: 0 / 0
Есть ли в С# подобие post в PowerBuilder?
    #32505857
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В PowerBuilder я этим пользуюсь постоянно, не представляю как без этого. Например, если то-то и то-то, показать юзеру сообщение, но сначала функция, вызвзвшая ту, что я пишу, должна коммитнуть или роллбэкнуть транзакцию, иначе транзакция будет открыта пока юзер не закроет сообщение, а он может и кофе пить пойти - другие ждать будут, что ли? Я пишу в моей функции:

Ochen zdorovoe zhelanie - cho-to soobschit Uzveryu vo vremya transaction.

PB eto zhe problemno-orientirovannaya sreda razrabotki, a ne universalnaya platforma, na kotori mozhno pisat pochti chto ugodno.

Vi zhe ne budete na PB pisat obraschenie matric ili NT Service?
...
Рейтинг: 0 / 0
Есть ли в С# подобие post в PowerBuilder?
    #32505859
Zmiter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тоже связался с С# после PB и тоже плююсь, очень много того , что в PB делалось парой функций, здесь надо расписывать.
Но мне нравиться на ASP с помощью С# писать вывод всяких отчётов через ВЕб, это в NET реализовано супер. Единственно, не разобрался с Кросстаб во встроенном кристал репортс, в PB кросстаб гораздо проще был, а тут настроек всяких куча.
...
Рейтинг: 0 / 0
Есть ли в С# подобие post в PowerBuilder?
    #32505865
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ne svyazivaisya s Cristall Reports, chto s VS.NET idet - sploshnoi gimmor, osobenno pri deployment.
Beri SQL Server Reporting Services
...
Рейтинг: 0 / 0
Есть ли в С# подобие post в PowerBuilder?
    #32505898
Zmiter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно поподробнее, где взять платная, бесплатная ??
...
Рейтинг: 0 / 0
Есть ли в С# подобие post в PowerBuilder?
    #32505901
Zmiter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это что, то что входит в состав MS SQL server. Но я с ним не работаю. СУБД у меня ASA Sybase, их как нибудь можно скрестить ?
...
Рейтинг: 0 / 0
Есть ли в С# подобие post в PowerBuilder?
    #32505907
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dlya teh u kogo MS SQL - tomu besplatno

podrobnosti

http://www.microsoft.com/sql/reporting/default.asp

100% .Net
...
Рейтинг: 0 / 0
Есть ли в С# подобие post в PowerBuilder?
    #32505910
Komputilisto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Ochen zdorovoe zhelanie - cho-to soobschit Uzveryu vo vremya transaction."
Я разрываюсь, объясняю, что хочу выкинуть мессидж-бокс ПОСЛЕ ЗАВЕРШЕНИЯ транзакции, но видно, плохо объясняю.

"PB eto zhe problemno-orientirovannaya sreda razrabotki, a ne universalnaya platforma, na kotori mozhno pisat pochti chto ugodno.

Vi zhe ne budete na PB pisat obraschenie matric ili NT Service?"
Абсолютно верное утверждение. PB - узко-специализированая среда, предназначенная исключительно для разработки приложений баз данных (клиентов - в архитектуре клиент-сервер, и клиентов + application servers в 3-уровневой архитектуре). В этом его огромное преимущество - нынче век узкой специализации на дворе. Есть поговорка - что хорошо для всего, не хорошо ни для чего. Кстати, мне приходилось писать функции с тяжёлыми вычислениями на С++ и вызывать их из PB как external functions, так что для каждой задачи должны быть свои инструменты.
...
Рейтинг: 0 / 0
Есть ли в С# подобие post в PowerBuilder?
    #32505928
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что хочу выкинуть мессидж-бокс ПОСЛЕ ЗАВЕРШЕНИЯ транзакции

Nu tak i vikidivaite ego POSLE zaversheniya transaction.
...
Рейтинг: 0 / 0
Есть ли в С# подобие post в PowerBuilder?
    #32505949
Komputilisto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
backfire, перечитай 3-й постинг ветки. Только очень внематочно. Может, я плохо выразил мысль, извиняюсь, попробую иначе.

Предположим, в библиотеке классов (каркасе, framework-е), с помощью которого пишется аппликация, есть класс для работы с данными из БД (в PowerBuilder он унаследован от DataWindow), и в нём есть функция f_update, производящая апдейт базы данных и commit/rollback, а между ними (после update, но перед завершением транзакции) вызывается функция f_before_commit, которая в каркасе пустая (просто return 1) и предназначена для опционального заполнения программистом (например, в ней могут быть директивы imbedded SQL, выполняющиеся в рамках той-же транзакции, что и update базы данных внутри f_update. Я хочу вызвать message box в коде функции f_before_commit, но чтоб он высветился после завершения транзакции - задача простейшая и в ПБ тривиальнейшая, и всё, что я спросил - как ето сделать в С#. Конечно, есть куча других решений (например, заполнить внутри f_before_commit текстовую переменную экземпляра, а в конце f_update, после транзакции, проверить или она заполнена, и если да - высветить сообщение и опустошить переменную для следующего раза, но я хотел бы знать именно можно ли просто и элегантно, одним росчерком пера, поставить функцию в очередь на выполнение без всяких заморочек типа делигейтов и листенеров.
...
Рейтинг: 0 / 0
Есть ли в С# подобие post в PowerBuilder?
    #32506002
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Po vashemu "prosto i bez zamorochek" - nelzya.

Postavlyu vopros inashe.

Dolzhno li interesovat kod, kotorii pishev v DB, nalichie GUI i prochei drebedeni?
A esli vam skazhut "sverhu" v odin prekrasnii moment, chto vasha business logika perezzhaet s GUI klienta na Middleware?

Tak chto ostavte GUI GUI-evo, a DB-layer DB-layer-ovo
...
Рейтинг: 0 / 0
Есть ли в С# подобие post в PowerBuilder?
    #32509031
Komputilisto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Dolzhno li interesovat kod, kotorii pishev v DB, nalichie GUI i prochei drebedeni?"
Так ведь это одна система, просто разные её части расположены в разных местах. Только к вопросу это не имеет отношения, про транзакцию - это просто пример, мог бы и не примешивать БД.
...
Рейтинг: 0 / 0
Есть ли в С# подобие post в PowerBuilder?
    #32511980
avg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
try
catch {}
finally {}

тебе помогут
...
Рейтинг: 0 / 0
Есть ли в С# подобие post в PowerBuilder?
    #32515281
Komputilisto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Каким образом?
...
Рейтинг: 0 / 0
Есть ли в С# подобие post в PowerBuilder?
    #32515729
avg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очень просто. В любом букваре по C# это описано.
Под try делаешь операции с БД ну соответственно все что надо перед commit. В случае ошибки под catch - rollback. Обязательный код завершения под finally, например закрытие соединения.
Или я неправильно понял задачу?
...
Рейтинг: 0 / 0
Есть ли в С# подобие post в PowerBuilder?
    #32519417
Komputilisto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да конструкцией try/catch я умею пользоваться, только как она поможет запустить функцию после того, как "отыграют" функции, "играющие" в момент вызова? В приведённом мною примере с БД commit/rollback находятся не в моей функции (которую я пишу), а в функции фреймворка. Я же не создаю собственную обработку транзакций, а использую существующую систему. Не, это не то...
...
Рейтинг: 0 / 0
Есть ли в С# подобие post в PowerBuilder?
    #32519890
avg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор f_before_commit, которая в каркасе пустая (просто return 1) и предназначена для опционального заполнения программистом (например, в ней могут быть директивы imbedded SQL, выполняющиеся в рамках той-же транзакции, что и update базы данных внутри f_update.

Тогда посмотри в сторону делегатов, имхо, то что тебе надо.
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Есть ли в С# подобие post в PowerBuilder?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]