Вниз
Скачать: CL | DM;

Создание и вызов 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.009 c
4-85296
MikeZ
2002-06-22 23:10
2002.08.26
Информация из *.lnk файла. (any Delphi)


1-85073
Stas Ant
2002-08-14 07:00
2002.08.26
Виртуальный винт


3-84908
Mars
2002-08-06 17:16
2002.08.26
Что за ошибка -


14-85230
VL
2002-07-29 17:38
2002.08.26
Господа. Не подскажете где взять компоненты, строящие графики


6-85155
ILAR
2002-06-15 19:22
2002.08.26
МОДЕМ




   Наверх