Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];

Вниз

DLL точка входа не найдена   Найти похожие ветки 

 
Lena19   (2004-03-10 22:26) [0]

всем привет
продскажите что у меня не так
в DLL . во время запуска прога выдает ( точка входа в F2 не найдена )
в проге функции объявлены так
 var  
 function F1(var x,y:byte):integer ;far;external"dll_My";
  function F2(var x,y:byte):integer ;far;external"dll_My";

а ето код самой DLL:
library DLL_MY;
uses  SysUtils,  Classes,

function F1(var x,y:byte):integer ;export;
begin result:=x+y; end;
//*****************************

function F2(var x,y:byte):integer; export;
begin  result:=x+y;  end;
//******************************

 exports dllstep;
 exports step;
begin
end.


 
Petr V. Abramov ©   (2004-03-10 22:31) [1]

Подсказка - а точка входа в dllstep найдна?


 
Lena19   (2004-03-10 22:31) [2]

в конце кода DLL
exports dllstep;exports step;
читать как exports F1;exports F2;


 
Никто ©   (2004-03-10 22:38) [3]

The directives near, far, and export refer to calling conventions in 16-bit Windows programming. They have no effect in 32-bit applications and are maintained for backward compatibility only.


 
Sentinel ©   (2004-03-10 22:42) [4]

А OUTPUT DIRECTORY в опциях проекта (и того и другого) указывают на одну папочку? Имеется ввиду: программа, использующая длл сможет найти сама эту длл?


 
Sentinel ©   (2004-03-10 22:47) [5]


> Никто ©   (10.03.04 22:38) [3]

Ну нравится ей так, а ещё она любит фортран или что-то вроде басика, в общем закалка сталинская). Но They have no effect и что-то мне кажется, что дело тут не в етом.


 
Lena19   (2004-03-10 22:48) [6]

да основная прога видит длл
пока в длл небыло функцыи F2
все работало


 
Sentinel ©   (2004-03-10 22:52) [7]

Попробуй так:
function F1(var x,y:byte):integer;far;external"dll_My" name "dllstep";


 
Sentinel ©   (2004-03-10 22:58) [8]

А так что-то глянул пристальнее, рекомендую все оформить так:

library DLL_MY;

uses SysUtils, Classes;

function dllstep( var x, y: byte ): integer; export;
begin
 result := x + y;
end;

function step( var x, y: byte ): integer; export;
begin
 result := x + y;
end;

exports dllstep, step;

begin
end.

в проге функции объявлены так:

function F1(var x,y:byte):integer ;far;external"dll_My"name"dllstep";
function F2(var x,y:byte):integer ;far;external"dll_My"name"step";

procedure TForm1.Button1Click(Sender: TObject);
var x,y:byte;
begin
 F1(x,y);
 F2(x,y);
end;


 
Гаврила   (2004-03-10 23:00) [9]

(старая) копия DLL находится раньше новой (где появилась F2), и загружается соответственно старая копия


 
Sentinel ©   (2004-03-10 23:01) [10]

function F1(var x,y:byte):integer ;export;
begin result:=x+y; end;
//*****************************

function F2(var x,y:byte):integer; export;
begin  result:=x+y;  end;
//******************************

уж коли так вот постапать тогда и экспортировать их надо, имхо, так:
exports F1 name "dllstep";
exports F2 name "step";
а то откуда компилер знает какая "dllstep" - F1 или F2. Или оформлять посты поаккуратнее


 
Lena19   (2004-03-10 23:10) [11]

TO Sentinel
большое спасибо
exports F1 name "dllstep";
ето то что надо



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

Форум: "Основная";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.036 c
8-1067257669
Urvin
2003-10-27 15:27
2004.03.28
Размер Экрана и ДиректХ


6-1074424836
urez_ua
2004-01-18 14:20
2004.03.28
работа с модемом


3-1078117698
MVA
2004-03-01 08:08
2004.03.28
Фильтрация


14-1077967753
menart
2004-02-28 14:29
2004.03.28
Microsoft прекращает поддержку Windows98!


9-1062240307
TButton
2003-08-30 14:45
2004.03.28
doCollision





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский