Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
OlePublic
|
|||
|---|---|---|---|
|
#18+
Есть созданый OlePublic-класс Код: plaintext 1. Как в функции Zapusk узнать где лежит исполняемый модуль моего класса... Код: plaintext 1. 2. Из-за умных сис-админов, которые его чистят не разбираясь для чё это надо... Заранее спасибо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2004, 13:34 |
|
||
|
OlePublic
|
|||
|---|---|---|---|
|
#18+
1) Передать как параметр при создании объекта 2) Создать преперть в OLE Public и после создания объекта записать в нее нужное значение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2004, 13:38 |
|
||
|
OlePublic
|
|||
|---|---|---|---|
|
#18+
to ВладимирМ: Может я не правильно выразился или не понял ответа... Функция Zapusk находится в моём созданом OlePublic-класс. Когда я ее вызываю через: Код: plaintext 1. А функция Zapusk должна устоновить для себя текущую директорию ту- где исполняемый модуль и отработать... после: Код: plaintext Но текущая директорию у класса не та, соответственно при попытке там че-то сделать идут одни свалы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2004, 13:57 |
|
||
|
OlePublic
|
|||
|---|---|---|---|
|
#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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2004, 14:06 |
|
||
|
OlePublic
|
|||
|---|---|---|---|
|
#18+
Уточни еще раз: Тебе надо узнать где лежит класс "my_ole.my_zapusk" или тот EXE в котором дается команда CREATEOBJECT()? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2004, 14:44 |
|
||
|
OlePublic
|
|||
|---|---|---|---|
|
#18+
Сорри... Екзешник этого класа... Например он на C:\My_Dir\ole.exe А вызываю я его из D:\My_Dir\test.exe в тест сидит CreateJbject... Мне надо узнать где ole.exe... oTest.cDir - возвращает систамную директорию... а не моего екзешника ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2004, 14:52 |
|
||
|
OlePublic
|
|||
|---|---|---|---|
|
#18+
Это только через реестр. Ведь ты регистришь свой OLE Public в системе (иначе он просто не будет работать). Вот и ищи, где там прописывается путь доступа к собственно файлу ole.exe Где именно в системе происходит запись путей доступа я не знаю. Подозреваю, что где-то в CLSID PS: Умные админы здесь ничего не смогут сделать. Если они удалят регистрационные пути доступа, то CREATEOBJECT() просто не найдет нужного класса. PPS: Можно упростить себе жизнь заставляя создавать для твоих библиотек фиксированную директорию или прописывать к ней путь в основной проге. Но, думаю, сам понимаешь все недостатки такого подхода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2004, 15:11 |
|
||
|
OlePublic
|
|||
|---|---|---|---|
|
#18+
Есть выход но он не идеален: STRTRAN(UPPER(JUSTPATH(SYS(16,0))),UPPER('PROCEDURE .Zapusk '),'') возвражает путь к екзешнику... но есть одно но... если встречается буква я то вместо её пишется белеберда... Это пока я только на одну букву нарвался... хто знает сико-ко их ещё... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2004, 15:42 |
|
||
|
OlePublic
|
|||
|---|---|---|---|
|
#18+
Если я правильно понял - нада определить где лежит этот самый Ole-класс ? Вот такой не хитрой функцией у меня определяеться местоположение COM+ объекта, при его запуске (зачем это нада - для хранения разнородных временных/промежуточных данных на сервере не таская их на клиента) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2004, 16:33 |
|
||
|
OlePublic
|
|||
|---|---|---|---|
|
#18+
Нет, это не пойдет ни при каком раскладе. SYS(16,0) возвращает имя стратовой проги, а не твоего OLE-сервера. Попробуй так: Код: plaintext 1. 2. 3. 4. 5. 6. Хотя, все это не совсем корректно. Правильнее было бы доставать путь доступа из реестра. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2004, 16:42 |
|
||
|
OlePublic
|
|||
|---|---|---|---|
|
#18+
to ВладимирМ: Нет, это не пойдет ни при каком раскладе. SYS(16,0) возвращает имя стратовой проги, а не твоего OLE-сервера. Попробуй так: Так оно тама и сидит... Только если в пути встречается буква я , то оно его не распознаёт, плюс есть ограничение на длину названия директории... Куча условностей... которые ни где не описаны... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2004, 17:00 |
|
||
|
OlePublic
|
|||
|---|---|---|---|
|
#18+
Насчет буквы "Я" в OLE читай здесь http://vfpdev.narod.ru/docs/mtscom_r.html Раздел "Проблемы CODEPAGE у VFPxT.DLL" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2004, 17:25 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32679534&tid=1595877]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
73ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 259ms |
| total: | 452ms |

| 0 / 0 |
