Ошибка Declared cursor already exists
Ошибка Declared cursor already exists
Запускаю программу из под IDE Delphi 5 - Все нормально. Когда же запускаю ее из проводника возникает ошибка
ERROR: Dynamic SQL Error
SQL error code = - 502
Declared cursor already exists.
Поиск в по "королевству Delphi" дал такой результат (привожу ответ на похожий вопрос) :
Имя курсора в IBX строится так CursorName:=RandomString(12);
На всех клиентах вызывай Randomize; Должно заработать.
Непонятно что такое CursorName ? Это св-во какого-то компонента или что? Функцию RandomString я тоже не встречал ...
Взято отсюда:
http://www.delphikingdom.ru/asp/answer. ... nswer=7759
Порылся в баг-листе и нашел:
Что это за COBOL такой и причем тут нуль-терминальные строки ? Просто проблемы с английским испытываю Надеюсь что кто-то уже сталкивался с такой проблемой и знает как ее решить.
PS. установлен IBXDP504Upd.EXE - вроде как последний
ERROR: Dynamic SQL Error
SQL error code = - 502
Declared cursor already exists.
Поиск в по "королевству Delphi" дал такой результат (привожу ответ на похожий вопрос) :
Имя курсора в IBX строится так CursorName:=RandomString(12);
На всех клиентах вызывай Randomize; Должно заработать.
Непонятно что такое CursorName ? Это св-во какого-то компонента или что? Функцию RandomString я тоже не встречал ...
Взято отсюда:
http://www.delphikingdom.ru/asp/answer. ... nswer=7759
Порылся в баг-листе и нашел:
Что это за COBOL такой и причем тут нуль-терминальные строки ? Просто проблемы с английским испытываю Надеюсь что кто-то уже сталкивался с такой проблемой и знает как ее решить.
PS. установлен IBXDP504Upd.EXE - вроде как последний
Теперь уже понятнее стало чуточку. Написана там вот такая строчка :
FCursor := Name + RandomString( 8 );
Вот решил переписать как было посоветовано :
Randomize;
FCursor := RandomString(12);
Откомпилировал модуль, теперь глюк появляется и в IDE Delphi Чудеса
Ради любопытства решил посмотреть что он там генерирует :
Randomize;
FCursor := RandomString(12);
ShowMessage(FCursor);
... И после того как я раз 30 нажал ОК программа запустилась и не выдала ошибку ! Получается что тут дело в генераторе случайных чисел ? Пробовал так:
FCursor := chr(Random(100)+50) + chr(Random(100)+50) + chr(Random(100)+50) +
chr(Random(100)+50) + chr(Random(100)+50) + chr(Random(100)+50) +
chr(Random(100)+50) + chr(Random(100)+50) + chr(Random(100)+50) +
chr(Random(100)+50) + chr(Random(100)+50) + chr(Random(100)+50);
Не помогло. Может у кого какие идеи есть ?
FCursor := Name + RandomString( 8 );
Вот решил переписать как было посоветовано :
Randomize;
FCursor := RandomString(12);
Откомпилировал модуль, теперь глюк появляется и в IDE Delphi Чудеса
Ради любопытства решил посмотреть что он там генерирует :
Randomize;
FCursor := RandomString(12);
ShowMessage(FCursor);
... И после того как я раз 30 нажал ОК программа запустилась и не выдала ошибку ! Получается что тут дело в генераторе случайных чисел ? Пробовал так:
FCursor := chr(Random(100)+50) + chr(Random(100)+50) + chr(Random(100)+50) +
chr(Random(100)+50) + chr(Random(100)+50) + chr(Random(100)+50) +
chr(Random(100)+50) + chr(Random(100)+50) + chr(Random(100)+50) +
chr(Random(100)+50) + chr(Random(100)+50) + chr(Random(100)+50);
Не помогло. Может у кого какие идеи есть ?
-
- Сообщения: 44
- Зарегистрирован: 21 янв 2005, 10:18
Неправильный ответ. Randomize устанавливает Seed (не знаю, как по-русски, я по-русски не очень) алгоритма генерации случайных чисел. Ты все время его переустанавливаешь и не даешь генератору "раскрутиться" как следует.juice писал(а):Не помогает вызов Randomize на старте программы, да и чего он вообще должен помогать на старте если даже в коде компонента он не помогает ?
Randomize правильно вызывать ОДИН раз при старте процесса (в смысле, перед первым обращением к Random).
А правильный ответ в том, что надо GUID надо генерить функцией CoCreateGuid (объявлено в модуле ActiveX).
-
- Сообщения: 44
- Зарегистрирован: 21 янв 2005, 10:18