Переключение на Главную Страницу Страницы: 1 ... 3 4 [5] 6 7 8 ОтправитьПечать
Очень популярная тема (более 25 ответов) v7lua.dll - ВК для интеграции 1С и Lua (число прочтений - 36238 )
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: v7lua.dll - ВК для интеграции 1С и Lua
Ответ #60 - 16. Июля 2008 :: 08:40
Печать  
berezdetsky писал(а) 16. Июля 2008 :: 07:38:
steban писал(а) 16. Июля 2008 :: 06:57:
имхо, такая-же засада будет при вызове из icpp методов КОП с неопределенным количеством параметров.

Так и есть. Я об этом писал когда-то. Вот...

Надо какое-то решение придумать.
Ведь не дело это.

Но решения у меня пока нет.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: v7lua.dll - ВК для интеграции 1С и Lua
Ответ #61 - 16. Июля 2008 :: 08:44
Печать  
kms писал(а) 16. Июля 2008 :: 08:35:
А почему в моем примере достаточно раскомментарить всего одну строчку с первым вызовом из 1С?
Если бы ты обнулял, было бы не так.

Попробуй скачать ВК заново.
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: v7lua.dll - ВК для интеграции 1С и Lua
Ответ #62 - 16. Июля 2008 :: 08:52
Печать  
steban писал(а) 16. Июля 2008 :: 08:44:
kms писал(а) 16. Июля 2008 :: 08:35:
А почему в моем примере достаточно раскомментарить всего одну строчку с первым вызовом из 1С?
Если бы ты обнулял, было бы не так.

Попробуй скачать ВК заново.

Я пробовал утром на 1.0.1.2.
Да ладно, если ты говоришь надо каждый раз - сделаем каждый раз.
Как говорится "хуже уже не будет".
  

De quelle planète es-tu?
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: v7lua.dll - ВК для интеграции 1С и Lua
Ответ #63 - 16. Июля 2008 :: 08:55
Печать  
Ну а такой вопрос: после вызова IsOleContext / EBX==1
Я могу ожидать, что CLuaRef::GetNParams вернет 1?
  

De quelle planète es-tu?
Наверх
 
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: v7lua.dll - ВК для интеграции 1С и Lua
Ответ #64 - 16. Июля 2008 :: 09:00
Печать  
kms писал(а) 16. Июля 2008 :: 08:55:
Ну а такой вопрос: после вызова IsOleContext / EBX==1
Я могу ожидать, что CLuaRef::GetNParams вернет 1?

Нет.
В Lua нет возможности получить какую-либо метаинформацию о функциях.
Возвращать ранее полученное количество параметров, имхо, нет смысла.
был не прав. каюсь.

А зачем тебе такое поведение?
« Последняя редакция: 17. Июля 2008 :: 20:11 - steban »  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: v7lua.dll - ВК для интеграции 1С и Lua
Ответ #65 - 16. Июля 2008 :: 09:16
Печать  
Ну, потому что если метод заявляет, что он принимает 20 параметров, я эти 20 параметров должен предоставить.
А зачем мне это, если у меня 1 параметр.

Да, я могу проверить рантайм класс и для CLuaRef сделать особое поведение.
Я также могу не обращать внимание на GetNParams() и передавать 1 параметр.

Последнее отпадает, а если для CLuaRef по-любому требуется особая обработка, то можно вообще отказаться от IsOleContext/CallAsFunc в сторону другого интерфейса.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: v7lua.dll - ВК для интеграции 1С и Lua
Ответ #66 - 16. Июля 2008 :: 09:31
Печать  
kms писал(а) 16. Июля 2008 :: 08:55:
Ну а такой вопрос: после вызова IsOleContext / EBX==1
Я могу ожидать, что CLuaRef::GetNParams вернет 1?

ОК.
В следующей версии будет так.
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: v7lua.dll - ВК для интеграции 1С и Lua
Ответ #67 - 16. Июля 2008 :: 15:06
Печать  
kms писал(а) 16. Июля 2008 :: 09:16:
если для CLuaRef по-любому требуется особая обработка, то можно вообще отказаться от IsOleContext/CallAsFunc в сторону другого интерфейса.

А может передавать количество параметров в вызове GetPropName или GetMethodName, номер метода=количество параметров и язык=2?
Такое решение подойдет и Ивану с его ВК на VB.
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: v7lua.dll - ВК для интеграции 1С и Lua
Ответ #68 - 16. Июля 2008 :: 16:26
Печать  
steban писал(а) 16. Июля 2008 :: 15:06:
kms писал(а) 16. Июля 2008 :: 09:16:
если для CLuaRef по-любому требуется особая обработка, то можно вообще отказаться от IsOleContext/CallAsFunc в сторону другого интерфейса.

А может передавать количество параметров в вызове GetPropName или GetMethodName, номер метода=количество параметров и язык=2?
Такое решение подойдет и Ивану с его ВК на VB.

Ну, в принципе, да.
А все контексты нормально переживут GetMethodName для языка ==2?
  

De quelle planète es-tu?
Наверх
 
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: v7lua.dll - ВК для интеграции 1С и Lua
Ответ #69 - 17. Июля 2008 :: 05:49
Печать  
kms писал(а) 16. Июля 2008 :: 16:26:
А все контексты нормально переживут GetMethodName для языка ==2?

КОПы переживут, LuaRef тоже.
емнип, больше никто неопределенное количество параметров не поддерживает
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: v7lua.dll - ВК для интеграции 1С и Lua
Ответ #70 - 17. Июля 2008 :: 05:57
Печать  
steban писал(а) 17. Июля 2008 :: 05:49:
больше никто неопределенное количество параметров не поддерживает

Блин. а ведь это не важно. Печаль
Такое соглашение должны поддерживать любые объекты вызов которых возможен из 1с++ или других ВК.
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: v7lua.dll - ВК для интеграции 1С и Lua
Ответ #71 - 17. Июля 2008 :: 09:39
Печать  
steban писал(а) 17. Июля 2008 :: 05:57:
steban писал(а) 17. Июля 2008 :: 05:49:
больше никто неопределенное количество параметров не поддерживает

Блин. а ведь это не важно. Печаль
Такое соглашение должны поддерживать любые объекты вызов которых возможен из 1с++ или других ВК.

Да.
Я поэтому для начала задал строгое условие "все".
Можно ослабить до "все нам известные".
Если, конечно, не посетит какая-либо более предпочтительная идея.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: v7lua.dll - ВК для интеграции 1С и Lua
Ответ #72 - 17. Июля 2008 :: 10:58
Печать  
steban писал(а) 15. Июля 2008 :: 20:23:
По сравнению с предыдущей версией, утеряна возможность работы с групповыми контекстами.

Это был глюк TurboBL.
Все работает.
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: v7lua.dll - ВК для интеграции 1С и Lua
Ответ #73 - 17. Июля 2008 :: 11:01
Печать  
kms писал(а) 16. Июля 2008 :: 16:26:
А все контексты нормально переживут GetMethodName для языка ==2?

В том-то и дело, что не все.
Большинство классов 1С++ скорее всего будут вызывать AV или еще что-нибудь интересное, что происходит при выходе за пределы буфера.
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: v7lua.dll - ВК для интеграции 1С и Lua
Ответ #74 - 17. Июля 2008 :: 11:31
Печать  
steban писал(а) 17. Июля 2008 :: 11:01:
kms писал(а) 16. Июля 2008 :: 16:26:
А все контексты нормально переживут GetMethodName для языка ==2?

В том-то и дело, что не все.
Большинство классов 1С++ скорее всего будут вызывать AV или еще что-нибудь интересное, что происходит при выходе за пределы буфера.

Ну, за icpp я меньше всего переживаю, если там возможен ABR, можно поправить.
А вот за контексты 1С - не возьмусь отвечать, ну и компоненты других авторов - под вопросом.

Цитата:
Это был глюк TurboBL.

А можно чуть подробнее.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 3 4 [5] 6 7 8
ОтправитьПечать