Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как из аппликации запустить другую и передать ей параметры?
|
|||
|---|---|---|---|
|
#18+
Подскажите как из одной аппликации VB запустить другую и передать в не параметры (ссылки на некоторые огбъекты вызывающей проги). И как затем выгрузить эту аппликацию при окончании работы в первой. Какие можно ожидать неприятности, если некоторые действия, результаты которых должны отображаться в первой аппликации, я перенесу во вторую? Что произойдет, если во время выполнения некоторой обработки во второй, закрыть первую? Точнее. У меня есть аппликация, основная роль которой - интерфейсная часть, те, показать на объекте MS MapPoint текущее местоположение транспортных средств. MapPoint работает быстро, когда кол-во объектов не превышает 20-30, но при 200 - 400 замедление значительное. А я бы хотел, чтобы юзер не замечал это. Поэтому хочу создать параллельную програмку и передать ей управление процессом заполнения карты. Те сделать как бы асинхрон. Возможно ли это? Где можно почитать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2004, 09:23 |
|
||
|
Как из аппликации запустить другую и передать ей параметры?
|
|||
|---|---|---|---|
|
#18+
Трудный вопрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2004, 12:36 |
|
||
|
Как из аппликации запустить другую и передать ей параметры?
|
|||
|---|---|---|---|
|
#18+
Не понятный. Тебя надо только запустить MapPoint или передавать ей какие либо данные в процессе работы? Вторая аппликация она так же на VB и тебя надо ей передавать что либо? -------------------------------------------------- Никогда не говори никогда ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2004, 15:31 |
|
||
|
Как из аппликации запустить другую и передать ей параметры?
|
|||
|---|---|---|---|
|
#18+
Вообще, если необходим обмен данными между приложениями используют FileMapping http://www.mvps.org/vb/hardcore/html/sharedmemorythroughmemory-mappedfiles.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2004, 17:16 |
|
||
|
Как из аппликации запустить другую и передать ей параметры?
|
|||
|---|---|---|---|
|
#18+
boevikНе понятный. Тебя надо только запустить MapPoint или передавать ей какие либо данные в процессе работы? Вторая аппликация она так же на VB и тебя надо ей передавать что либо? -------------------------------------------------- Никогда не говори никогда Нет, MapPoint я запускаю на главном приложении. Я хочу передать в невидимую аппликацию (вторую) сылку на объект MapPoint и все операции по заполнению его данными осуществлять там. С тем что бы не тормозить работу основного приложения. Я уже понял, что надо воспользоваться Command Function при построении второго приложения, но пока нет времени проверить, как это работает. Пока не понятно могу ли я передать ссылку на объект MapPoint и как ей потом воспользоваться. Как получить ссылку на вторую аппликацию и как ее закрыть при закрытии основной проги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2004, 17:44 |
|
||
|
Как из аппликации запустить другую и передать ей параметры?
|
|||
|---|---|---|---|
|
#18+
marvanВообще, если необходим обмен данными между приложениями используют FileMapping http://www.mvps.org/vb/hardcore/html/sharedmemorythroughmemory-mappedfiles.htm Я думаю, что мне не нужен обмен данными. Я хотел бы во второй аппликации автономно управлять данными. Просто мне нужна там ссылка на объект, который находится на первой аппликации. Или я не правильно изъясняюсь и поэтому же не понимаю ваши рекомендации ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2004, 17:49 |
|
||
|
Как из аппликации запустить другую и передать ей параметры?
|
|||
|---|---|---|---|
|
#18+
Зачем ссылка на объект. Пусть проги общаются между собой, передают друг другу данные. Можно осуществлять и через DDE -------------------------------------------------- Никогда не говори никогда ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2004, 17:59 |
|
||
|
Как из аппликации запустить другую и передать ей параметры?
|
|||
|---|---|---|---|
|
#18+
Rivkin DmitryПросто мне нужна там ссылка на объект ссылку передать можно через командную строку при запуске второго приложения, а что за объект, на который она ссылается? Все же имеет смысл использовать FileMapping: MapPoint - с определённой переодичностью считывает из участка памяти данные и записывает управляющие команды , а второе приложение из того же участка считывает команды и записывает туда данные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2004, 18:16 |
|
||
|
Как из аппликации запустить другую и передать ей параметры?
|
|||
|---|---|---|---|
|
#18+
boevikЗачем ссылка на объект. Пусть проги общаются между собой, передают друг другу данные. Можно осуществлять и через DDE -------------------------------------------------- Никогда не говори никогда Но у MapPoint контрола нет свойств LinkTopic, LinkItem, LinkMode Как же тогда можо пользоваться DDE? Все же, может быть разделить мои вопросы. 1 - как запустить и как потом не забыть выгрузить вторую прогу? 2 Как из 2-й проги управлять контролами первой? Простите за непонимание. Но хочется разобраться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2004, 19:23 |
|
||
|
Как из аппликации запустить другую и передать ей параметры?
|
|||
|---|---|---|---|
|
#18+
1) Запустить функцией Shell 2) Пусть первая прога передает второй данные (да хоть через TextBox), а вторая прога их расшифровует и управляет MapPoint-ом. Так же через DDE передать сообщение об окончании работы и вторая прога сама свернется. -------------------------------------------------- Никогда не говори никогда ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2004, 19:27 |
|
||
|
Как из аппликации запустить другую и передать ей параметры?
|
|||
|---|---|---|---|
|
#18+
авторВсе же имеет смысл использовать FileMapping: MapPoint - с определённой переодичностью считывает из участка памяти данные и записывает управляющие команды , а второе приложение из того же участка считывает команды и записывает туда данные. Вот это как раз я и не хочу делать, так как при считывании из памяти и, главное, при занесении данных на MapPoint контрол бейсик будет занят и клиенту придется ждать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2004, 19:52 |
|
||
|
Как из аппликации запустить другую и передать ей параметры?
|
|||
|---|---|---|---|
|
#18+
boevik1) Запустить функцией Shell 2) Пусть первая прога передает второй данные (да хоть через TextBox), а вторая прога их расшифровует и управляет MapPoint-ом. Так же через DDE передать сообщение об окончании работы и вторая прога сама свернется. -------------------------------------------------- Никогда не говори никогда А как она (вторая прога) перехватит сообщение. Ну, допустим, на активации формы в ее текстбоксе я прочту ссылку на объект MapPoint. А как же я получу сообщение, что пора сворачиваться? Ставить специально для этого таймер? Или есть событие? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2004, 19:58 |
|
||
|
Как из аппликации запустить другую и передать ей параметры?
|
|||
|---|---|---|---|
|
#18+
Rivkin Dmitry, посмотри ссылку, что я кинул про DDE. Никакого таймера не надо. Просто сделай свой "протокол". К примеру, при получении слова "End" прога завершает работу. -------------------------------------------------- Никогда не говори никогда ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2004, 20:06 |
|
||
|
Как из аппликации запустить другую и передать ей параметры?
|
|||
|---|---|---|---|
|
#18+
boevikRivkin Dmitry, посмотри ссылку, что я кинул про DDE. Никакого таймера не надо. Просто сделай свой "протокол". К примеру, при получении слова "End" прога завершает работу. -------------------------------------------------- Никогда не говори никогда Ссылку я посмотрел и понл так, сто когда на сервере я напишу в линкованное поле "End", то на клиенте в то же мгновение в соответствующем поле появится это "End". И как я его поймаю? На Change этого контрола? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2004, 20:38 |
|
||
|
Как из аппликации запустить другую и передать ей параметры?
|
|||
|---|---|---|---|
|
#18+
Rivkin Dmitry Ссылку я посмотрел и понл так, сто когда на сервере я напишу в линкованное поле "End", то на клиенте в то же мгновение в соответствующем поле появится это "End". И как я его поймаю? На Change этого контрола? Да, поймай на Change и действуй соотвественно полученной инструкции :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2004, 20:42 |
|
||
|
Как из аппликации запустить другую и передать ей параметры?
|
|||
|---|---|---|---|
|
#18+
А может быть можно воспользоваться тем, что возвращает функция Shell? If the Shell function successfully executes the named file, it returns the task ID of the started program. Однако что это такое "task ID"? Если его сохранить, то как потом послать команду свернуться? API? Опять возвращаюсь к самому контролу MapPoint. Работать сним можно только так: Global objMap As MapPointCtl.Map Set objMap = MapForm.MappointControl1.NewMap(geoMapEurope) Set objMap = MapForm.MappointControl1.ActiveMap Теперь, имея в руках объект, можно заполнять его иконками (машинками). Пример одной из функций: Код: 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. Когда этих самых Pushpin-ов становится достаточно много - работа замедляется существенно. Теперь вопрос. Как мне вот этот objMap передать во вторую аппликацию? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2004, 20:58 |
|
||
|
Как из аппликации запустить другую и передать ей параметры?
|
|||
|---|---|---|---|
|
#18+
Rivkin DmitryКак мне вот этот objMap передать во вторую аппликацию? Я не уверен, что можно будет передать объект (ссылку на) objMap во вторую программу. Максимум, можно создать копию, передав всё описание во вторую прогу. А почему бы с самого начало не открыть вторую программу и пусть вторая программа занимается только показом MapPoint? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2004, 09:42 |
|
||
|
Как из аппликации запустить другую и передать ей параметры?
|
|||
|---|---|---|---|
|
#18+
Так это - то, что я хочу. Но сам объект MapPoint (карта) должен находится на первой проге! Но как это осуществить? Если вторая прога будет клиентом, а первая сервером, клиент видит и может управлять всем на сервере или нет? Если да, то как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2004, 10:53 |
|
||
|
Как из аппликации запустить другую и передать ей параметры?
|
|||
|---|---|---|---|
|
#18+
На клиенте будет сидеть MapPoint (карта), сервер передает клиенту данные и клиент рисует карту. Как это сделать? Посмотри пример. Кстати, можно не затыкаться на DDE. Посмотри в сторону передачи данных через Inet контроль. Типа как по сетке но на одном компе, тогда связь будет двухсторонней. -------------------------------------------------- Никогда не говори никогда ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2004, 11:13 |
|
||
|
Как из аппликации запустить другую и передать ей параметры?
|
|||
|---|---|---|---|
|
#18+
boevikНа клиенте будет сидеть MapPoint (карта), сервер передает клиенту данные и клиент рисует карту. Как это сделать? Посмотри пример. Кстати, можно не затыкаться на DDE. Посмотри в сторону передачи данных через Inet контроль. Типа как по сетке но на одном компе, тогда связь будет двухсторонней. -------------------------------------------------- Никогда не говори никогда Что-то я туго соображаю. 1 Т.е 1-я прога - становится клиентом, а 2-я - сервером? Но возможно ли, чтобы клиент запускал сервер? 2 По Inet контроль в MSDN Lib ничего не ншел. Где искать? 3 boevik, может на мое мыло кинешь телефон, если не секретный ты boevik спецназа, пообщаемся? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2004, 11:38 |
|
||
|
Как из аппликации запустить другую и передать ей параметры?
|
|||
|---|---|---|---|
|
#18+
Rivkin Dmitry 1 Т.е 1-я прога - становится клиентом, а 2-я - сервером? Но возможно ли, чтобы клиент запускал сервер? 2 По Inet контроль в MSDN Lib ничего не ншел. Где искать? 3 boevik, может на мое мыло кинешь телефон, если не секретный ты boevik спецназа, пообщаемся? :) 1) Нет, клиент не может запустить клиент. Сервер может 2) Internet Transfer Control 3) Ты уже знаешь :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2004, 12:27 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=32593941&tid=2169267]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 330ms |

| 0 / 0 |
