Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.26;
Скачать: CL | DM;

Вниз

UDF функция замены символов в строке для ІВ 5.5.   Найти похожие ветки 

 
Vn   (2004-11-23 15:46) [0]

Мастера не посоветуете нормальную UDF библиотеку, где бы была функция замены символов в строке. До сих пор пользовался rfunc.dll и FreeUDFLib.dll. Но в 1-й функция strreplace глючит, а во 2-й вообще не нашел. Спасибо.


 
Sergey13 ©   (2004-11-23 15:49) [1]

А может тебе нормальный сервер поставить?


 
Vn   (2004-11-23 15:55) [2]

А чем ІВ 5.5 плох? Да и задача не космические корабли запускать :)))


 
Sergey13 ©   (2004-11-23 16:00) [3]

Да говорят 5.5 одна из самых глючных у Борланда получилась. А УДФ - почему бы свою не написать?


 
Sergey_Masloff   (2004-11-23 21:55) [4]

Sergey13 ©   (23.11.04 16:00) [3]
>Да говорят 5.5 одна из самых глючных у Борланда получилась.
Воистину так, они 5.6 всем сразу практически разослали...
>А УДФ - почему бы свою не написать?
И опять соглашусь. Времени 20 минут займет.


 
Johnmen ©   (2004-11-24 00:16) [5]

>rfunc.dll ... функция strreplace глючит

Позвольте уличить вас в наглой лжи...
(безотносительно версии сервера)
:)))


 
Vn   (2004-11-24 13:11) [6]

Johnmen ©   (24.11.04 00:16) [5]

Ого как безапеляционно! Спорить не буду. Возможно у тебя есть какие то аргументы. Но если после 3-х лет безупречной работы в запрос внесено единственное изменение и програма начала вываливаться через раз - другой с ошибкой:A fatal exception occurred during the execution of a user defined function. Access violation.  The code attempted to access a virtual address without privilege to do so, что можно подумать?
А изменение всего то вместо select u.Name... поставил select strreplace(strreplace(u.NAME,"І","I"),"і","i") Name,...


 
Johnmen ©   (2004-11-24 13:39) [7]

>Vn   (24.11.04 13:11) [6]

Там смайлик в конце.

>програма начала вываливаться через раз - другой

Значит на раз - нормально, работает без ош., на два - ошибка ?
Приводи конкретный вызов ф-ии, когда ошибка, со значениями передаваемых параметров. Для начала.
PS
Если, например, я получаю AV in kernel32.dll, я не буду говорить, что ф-ии это длл глючат. Скорее я скажу, что глючат модули памяти...


 
Digitman ©   (2004-11-24 14:38) [8]


> в запрос внесено единственное изменение


странное, надо заметить, "изменение" : заменить все "I" на те же самые "I", а потом в результ.строке попытаться изменить "i" на те же самые "i" ...

смысл всего этого ? или решил просто поэкспериментировать ?


 
Vn   (2004-11-24 14:50) [9]

Johnmen ©   (24.11.04 13:39) [7]
Да именно так и работает. Через раз. И вываливается в разных местах во время прохода проги по набору данных. На разных записях. Не совсем понимаю что тут еще можно выкладывать. Код не менялся да и большой он, а все изменения были лишь в запросе, добавлением вышеуказанной функции. Так что получается не на что грешить окромя функции или кривых рук ))). Да и ексепшин дело рук сервера ІВ, а не програмы.

з.ы. если можешь посоветуй другую библиотеку для проверки


 
Vn   (2004-11-24 14:55) [10]

Digitman ©   (24.11.04 14:38) [8]
Там меняется украинское І на англ., большое и маленькое


 
Digitman ©   (2004-11-24 16:59) [11]


> Vn   (24.11.04 14:55) [10]


хорошо.
предположим, идея твоя имеет право на жищнь, но не изобразима здесь визуально и я ее не понял сразу  ..

но что мешает вызов проблемной UDF заключить в блок контроля исключений ? с целью удостовериться в факте возбуждения искл-я именно в UDF?


 
Vn   (2004-11-24 18:41) [12]

Digitman ©   (24.11.04 16:59) [11]

У меня приблизительно так и есть.
Грубо:
Try
 IBQuery1.sql.add("select UDFunction(nnnn) ...
 IBQuery1.open;
 while not IBQuery1.eof do begin
   ...
   к.т1
   ...
   ...

   к.тN
   IBQuery1.next;
 end;
except
   on aa:exception do begin
      ShowMessage(aa.Message+IBQuery1.Fields[1].asstring+  к.т...);
   end;
end;
Исключение возникает всякий раз в разных контрольных точках и на разных записях НД.


 
Digitman ©   (2004-11-24 18:59) [13]


> Vn   (24.11.04 18:41) [12]


ты меня не понял ..

имелась ввиду конструкция в теле SP/триггера :

begin
..
when чего-то_там ..
..
end


 
Vn   (2004-11-24 20:11) [14]

Digitman ©   (24.11.04 18:59) [13]
Теперь понял.
SP/триггер я не стал создавать, а просто поганял чистый селект в борландовском SQL Explorer. Та же ошибка после выполнения запроса и попытке перейти на последнюю запись (т.е. FetchAll). Появляется в среднем каждый 2-3-й раз. Постараюсь порешать другими способами.

Всем спасибо.



Страницы: 1 вся ветка

Текущий архив: 2004.12.26;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.092 c
1-1102620522
SergP
2004-12-09 22:28
2004.12.26
Есть ли функции для преобразования строки в множество?


6-1097686027
AlexG
2004-10-13 20:47
2004.12.26
Мгновенная остановка создания TCP/IP соединения


4-1100497515
NetDigger
2004-11-15 08:45
2004.12.26
Работа с мэйлслотами


14-1102368965
GanibalLector
2004-12-07 00:36
2004.12.26
UML


1-1103038825
Dmitry_04
2004-12-14 18:40
2004.12.26
Посоветуйте какойнибудь компонент для выбора цвета, как в Word-е