Форум: "Базы";
Текущий архив: 2002.08.26;
Скачать: [xml.tar.bz2];
ВнизСоздание и вызов UDF Найти похожие ветки
← →
Oleon (2002-08-05 13:39) [0]Добавил в имеющуюся DLL функцию скомпелтировал описал.
Когда вызываю ее из Процедуры на сервере выдается ошибка :
Инструкция по адресу "0x0042d38c" обратилась к памяти по адресу
"0x0000000000" память может быть "read". Что это может быть?
← →
Oleon (2002-08-05 13:40) [1]не может быть "read"
← →
Виктор Щербаков (2002-08-05 13:45) [2]Отлаживать её надо.
Run|Attach to process,
выбираешь IBServer и вперед...
← →
Oleon (2002-08-05 14:10) [3]Не могу найти как туда попасть. В Delphi 3.0 Run| Attach to process?
← →
Виктор Щербаков (2002-08-05 14:13) [4]Извини, я не обратил внимания на версию Delphi :(
Попробуй поотлаживать в пятерке, например.
А когда отладишь, можно код обратно перенести.
Вот такой дурацкий совет :(
← →
Oleon (2002-08-05 14:30) [5]Варианты попроще есть? Это уж слишком долго. Нужно же Delphi 5.0 ставить.
← →
Виктор Щербаков (2002-08-05 14:46) [6]Вариант проще, но он не заменит отладку:
Привести объявление UDF и объявление функции в dll (можно даже код функции).
Может быть просто напутал что-нибудь с параметрами или соглашением о вызове.
← →
Oleon (2002-08-05 14:58) [7]function FormatInt(FmtSTR : PCHAR; var Value : Double) : PChar; cdecl; export;
function FormatInt;//(FmtSTR : PCHAR; var Value : Double) : string; cdecl; export;
var
RS : array[0..255] of char;
Begin
Result := StrCopy(RS, PChar(Format(FmtStr, [Value])));
End;
В InterBase объявлено так:
DECLARE EXTERNAL FUNCTION FORMATINT
CSTRING(10), DOUBLE PRECISION
RETURNS CSTRING(50) -1
ENTRY_POINT "FormatInt" MODULE_NAME "RSB_CASH"
← →
Digitman (2002-08-05 17:51) [8]1. Разницу между CSTRING(50) (IB) и String (OP) понимаешь ?
2. Время жизни переменной RS равно времени жизни UDF, ибо RS - лок.переменная. Что получит IB в результате вызова такой UDF ? Ничего. Ссылку в "пустоту" . Что ты и наблюдаешь.
3. Что есть "-1" в строке декларации RETURNS CSTRING(50) -1 ?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.08.26;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c