|
Классы
|
|||
---|---|---|---|
#18+
NNN: Я эту ситуацию поборол(по другому)... там еще пару глюков было... Если тебе интересно, то я поделюсь... У меня такой вопрос... Gbie my_class = createobject('my_cl.proj') Procedure Prog объявлена в классе... Вызываю my.Prog В 2000 Винде пашет А в 98 Винде пишет Unknown COM Status code... Type('my_class') = "O" что в 2000, что 98 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2003, 14:22 |
|
Классы
|
|||
---|---|---|---|
#18+
Сорри Опечатки... NNN: Я эту ситуацию поборол(по другому)... там еще пару глюков было... Если тебе интересно, то я поделюсь... У меня такой вопрос... my_class = createobject('my_cl.proj') Procedure Prog объявлена в классе... Вызываю my_class.Prog В 2000 Винде пашет А в 98 Винде пишет Unknown COM Status code... Type('my_class') = "O" что в 2000, что 98 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2003, 14:30 |
|
Классы
|
|||
---|---|---|---|
#18+
2IgorProgrammer У тебя в методе обращение к COM(OLE)-объекту? Мне кажется, что у тебя на 98 что-то не зарегистрировано или вовсе не стоит. Если не получится, кинь код метода, глянем, к чему ты обращаешься. ЗЫ свое решение брось мне на мыло, я люблю коллекционировать такие вещи, жаль диски часто летят и мало что сохранилось ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2003, 14:58 |
|
Классы
|
|||
---|---|---|---|
#18+
NNN: Отдельно экзешник пашит... Так что все зарегено... А 98 Че-то кричит... когда я с екзешником черес класс общаюсь... Пришли мне адресс мыла и я отправлю... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2003, 15:19 |
|
Классы
|
|||
---|---|---|---|
#18+
Код большой? Если большой - на мыло, если приемлемо - сюда. Мыло я тебе кинул ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2003, 15:38 |
|
Классы
|
|||
---|---|---|---|
#18+
NNN: Разобрался я в чем дело... Просто 98 Винде не хватет простого регета my_prog /regserver Если компилишь екзешник на 98, то пашет... Не знаешь как это побороть... Или че ей не хватает... А то у меня в инсталяторе стоит после завершения инсталяции Выполнить #setuppath#\my_prog.exe /regserver 2000 этого хватает... а 98 нет... Побробую объяснить на пальцах... my_proc1 - главная процедура DEFINE CLASS My_class1 AS custom OLEPUBLIC PROCEDURE my_proc1 параметры если надо объявляю паблики(паблик(my_form_return) = форма, что б можно было с формой общаться и через class и непосредственно откуда вызвался class) ........... Разные действия ........... ON ERROR DO My_ret *если ошибка то вызывается прога которая ниче не делает(что б не повесить первый екзешник при ошибке второго) ON SHUTDOWN Do Predvarit_Exit*Это нужно что б при релизе класса не закрылась форма...(в проге Predvarit_Exit пересылаешь на другую (ON SHUTDOWN Do My_quit, где пишешь Quit),(у меня просто этот клаза вызывается и релизится в цикле кучу раз) *если поставить Read Events - здесь тормозит не только этот екзешник, но и откуда его вызвали *Теперь главное Do form my_form1 *В ините пишу my_form_return = ThisForm Return my_form_return ENDPROC Теперь я с этой формой могу работать с двух мест, то тех пор пока не произойдет релиз переменной формы(для класса - и потеряет связь класс с формой... или в первом екзешнике - тогда он потеряет связь с формой) или класса... При релизе класса(оно побегает по SHUTDOWN) и задача останется висеть. Можно добавить еще программ в этот класс... ENDDEFINE Работает как ДЕТИ В ШКОЛУ... Даже не пришлось прогу вывода трогать... Она обрабатывает данные или в Макрос Excel или в мою форму... Надеюсь я растолковал все подробно и понятно... По поводу регета класса в 98... Выслушаю любые предложения... ХЕЛП... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2003, 16:24 |
|
Классы
|
|||
---|---|---|---|
#18+
2IgorProgrammer > По поводу регета класса в 98... Выслушаю любые предложения.. Совершенно не представляю :( Может какие-то проблемы с визардом? Может он неправильно инсталяшку для 9х формирует? Может сервпак накатить? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2003, 17:14 |
|
Классы
|
|||
---|---|---|---|
#18+
NNN: Инстолятор не родной фоксовский... Да и это не имеет значения... Я копирую Екзешник на комп с 98 Виндой и запускаю my_prog /regserver И в ответ большой привет... А если я компилю екзешник на этом же компе с 98 виндой... То работает как дети в школу... Может можно сделать как-то имитацию компила этого екзешника??? Бо я уже глянул во все книги... но неувидил ни че кроме фиги... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2003, 17:22 |
|
Классы
|
|||
---|---|---|---|
#18+
Попробуй посмотреть, что пишит фокс в реест при компиляции, создать reg-file для 9х и его использовать. Вот утилитка для слежения за реестром, думаю разберешься: http://www.sysinternals.com/ntw2k/source/regmon.shtml ЗЫ извини, у меня началась пятница в лучшем смысле этого слова :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2003, 17:29 |
|
Классы
|
|||
---|---|---|---|
#18+
NNN: Задрала меня эта 98 ...НДА XP тоже хавает как дети в школу... Решение простое... Я после инсталлера запускаю прогу которая детектит операционку и в зависимости от неё регет екзешник с разными *.tlb, *.vbr ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2003, 18:15 |
|
Классы
|
|||
---|---|---|---|
#18+
Не помогло... Люди помоготи... Как зарегистрировать свой класс на другой машине... my_prog /regserver Работает только на той машине где собираля проект... На других регется, а потом при вызове процедуры класса ругается хотя mm = creatobject('my_prog.klass') TYPE('mm') = "O" и говорит что библиотека незарегена. Почему при компиляции одного и того же проекта на разных машинах создается разные *.tlb??? Можно ли как-то создавать *.tlb из готового Екзешника, а только потом регить??? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2003, 20:10 |
|
|
start [/forum/topic.php?fid=41&msg=32212452&tid=1598120]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 267ms |
total: | 393ms |
0 / 0 |