• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Ошибка: "5:неправомерный Вызов Функции "

  • Автор темы Автор темы azzza
  • Дата начала Дата начала

azzza

Green Team
26.04.2011
68
3
Добрый день !

Получаю такую ошибку: ОШИБКА: "5:Неправомерный вызов функции (Illegal Function Call)", подскажите как можно установить причину.
Вызваемая функция находится в библиотеке LS и вызывается из другой библиотеки LS
Sub CrPMail(doc As notesdocument, who As String, mail_server As String, subj As String, txt As String)
ей передаются параметры doc (UniversalID = 72C6CF0A21B4B86E46257A0E0018447A) who$= CN=...Вася (адрес верен) whoserver$= CN=... Server (сервер верен) subj$=текстик txt$=текстик.

На одном сервере код работает, а на другом нет :o

Сделал отладку на корректность значений, как я указал выше все значения в норме, пробывал перекомпилировать обе библиотеки, проблема не разрешилась.

Понимаю, что инфы мало, но может хоть направление куда копать подскажите ...
 
а покажи как вызываешь?


Локализуй ошибку:

Сделай Sub CrPMailTest() и вызови её. Если ошибку не выдаст, то добавляй по-одному парамметры (Sub CrPMailTest(txt As String); Sub CrPMailTest(subj As String, txt As String))
 
вроде как такое бывает когда вызывающий не имеет доступ к этой функции: библиотека 1 не видит библиотеку 2

что значит на одном сервере работает на другом нет? от кого вызывается обработка?
 
azzza,

там где не работает не Unix случаем стоит?

Если Unix, то посмотри нет ли в передаваемых значениях переносов строк (chr(13), chr(10)).
Если переносы есть, то для Unix попробуй использовать только chr(10).
 
Понимаю, что инфы мало, но может хоть направление куда копать подскажите ...

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

а вообще помогает ковровое бомбометание: удаляете обе библиотеки и создаете по новой..
также следует убедиться что нет копий этих библиотек вида либа_1 либа_2, иногда когда создаются копии такого видал лоту их как-то неадекватно понимает, в итоге в библиотеках где была заюзана либа она так и остается заюзаной в компилированном коде несмотря на то что была создана новая версия с изменениями.. в общем не должно быть ничего лишнего..
 
а покажи как вызываешь?


Локализуй ошибку:

Сделай Sub CrPMailTest() и вызови её. Если ошибку не выдаст, то добавляй по-одному парамметры (Sub CrPMailTest(txt As String); Sub CrPMailTest(subj As String, txt As String))

вызов делаю так Call CrPMail(doc,who$,whoserver$,subj$,txt$), передаваемые параметры и их значения я попытался описать в первом посте. Сама функция отрабатывает на одном сервере в домене A, но на другом, в другом домене Б, где стоит не связанная реплика (одностороняя репликация из A в Б ) у некоторых пользователей (домена Б) выводит такую ошибку (сказать что у всех не могу), склоняюсь к предположению Morpheus, такое впечатление не хватает доступа у пользователя для вызова. Проверить толком не могу ограничен там в правах, кстати оба модуля подписал своей учеткой, может в этом проблема.
Сервер Win на оси 2003 , но действительно использую в subj$ конструкцию Chr$(10)+Chr$(13).
Пробовал сам в домене Б выполнить эту конструкцию, получаю ошибку, в A делаю все ок.

Для Kee_Keekkenen
ошибок компиляции нету, я же написал что в одном случае все работает на ура, мусора тоже нет, уже шаманил с полным пересозданием модулей, пока результатов нет. Считаю. что права тянут.

Что в плане прав можно проверить у моей учетки в домене B, какой минимум необходим для успешного выполнения ?
 
Подпишите (попросите админа подписать) учётной записью сервера.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab