![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Invalid Pointer Operation при вызове DLL [D1, D2, D3, D4, D5, D6, D7, Win95/98, WinME, NT4, Win2k, WinXP]
awp © (2004-09-30 12:23:00)Проблемка в следующем:
DLL:
library dbf_loader;
uses SysUtils, Classes, DB, Dbf;
function Load_Dbf(FN: String): String; EXPORT;
var
Tb: TDbf;
i: Byte;
S: AnsiString;
begin
try
S:= '';
Tb:= TDbf.Create(nil);
with Tb do
begin
FileName:= FN;
Active:= True;
First;
while not Eof do
begin
for i:= 0 to Fields.Count - 1 do
S:= S + '<th><input name="cell" value="' + Fields[i].AsString + '">'
+ '</th>';
Next;
end;
Active:= False;
Free;
end;
Result:= S;
except
on E: Exception do Result:= E.Message;
end;
end;
EXPORTS
Load_Dbf Name 'Load';
end.
Вызываю:
function LodDb(FN: String):String; external 'dbf_loader.dll' name 'Load';
Использую:
if OpenDialog1.Execute then
Memo1.Text:= LodDb(OpenDialog1.FileName);
Причем когда просто в проге испальзую код из DLL то она работает.
Подскажите плз.
Мастер (2004-09-30 12:28:00) [1]Почитай у меня в инфе ответ. П.3