Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц, летом дешевле!

Ответ
 
Опции темы Поиск в этой теме
Старый 30.01.2023, 18:19   #21
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,389
По умолчанию

Возможно из-за того, что dll и exe файлы лежать в разных папках после компиляции и он не может найти по указанным путям ни одной подходящей dll с именем Project1.dll
macomics на форуме Ответить с цитированием
Старый 30.01.2023, 19:02   #22
leon2009sp
Пользователь
 
Регистрация: 22.12.2015
Сообщений: 65
По умолчанию

я могу сделать видео = Project1.dll закачал в месте с ехе 64.
я подумал что это write и wite64
leon2009sp вне форума Ответить с цитированием
Старый 30.01.2023, 19:42   #23
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,389
По умолчанию

Так вы dll файл переименовали? Тогда надо и в exe файле исправить экспортную строку для функции из этой библиотеки.
macomics на форуме Ответить с цитированием
Старый 30.01.2023, 19:48   #24
leon2009sp
Пользователь
 
Регистрация: 22.12.2015
Сообщений: 65
По умолчанию не

Код:
type TCallBack = procedure (Curr, Max: Cardinal);

var
  Form1: TForm1;   Canceled: Boolean;
  LibHandle: THandle;
  function LoadFile(var MemoryStream: TMemoryStream; const FileName: string; cbProgress: TCallBack):string; external 'Project1.dll' index 1;

implementation

{$R *.dfm}

procedure cbProgress(Curr, Max: Cardinal);
begin
   Form1.ProgressBar1.Position := Curr * 100 div Max;
   Application.ProcessMessages;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  MS: TMemoryStream;
begin
    with OpenDialog1 do
      if Execute then begin
         MS := TMemoryStream.Create;
         LoadFile(MS, FileName, @cbProgress);
         Memo1.Lines.LoadFromStream(MS);
         MS.Free;
      end;
end;
Project1.dll я и так и так пробовал. название одинаковое Project1.dll
Код:
function LoadFile(var MemoryStream: TMemoryStream; const FileName: string; cbProgress: TCallBack):string; external 'Project1.dll' index 1;
leon2009sp вне форума Ответить с цитированием
Старый 31.01.2023, 12:28   #25
leon2009sp
Пользователь
 
Регистрация: 22.12.2015
Сообщений: 65
По умолчанию

не может найти файл на 64б.еще если код стоит в низу:
Код:
Form1.ProgressBar1.Position := Curr * 100 div Max;
   Application.ProcessMessages;
начинает ругаться на
Код:
LoadFile(MS, FileName, @cbProgress);
leon2009sp вне форума Ответить с цитированием
Старый 02.02.2023, 16:46   #26
leon2009sp
Пользователь
 
Регистрация: 22.12.2015
Сообщений: 65
Плохо поэтапно

Код:
function LoadFile:string;
var str:string;
  begin
  str:='111111';
   // Result:='HelloFromDLL_leon';
  end;
exports
  LoadFile index 1;
и принимаю:
Код:
 function LoadFile:string; external 'project1.dll';
procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage(LoadFile);
end;
почему result передается, а str пустое окно?
leon2009sp вне форума Ответить с цитированием
Старый 02.02.2023, 18:35   #27
leon2009sp
Пользователь
 
Регистрация: 22.12.2015
Сообщений: 65
По умолчанию

понял: LoadFile:='rrrrrrrrrrr';
а три параметра??? string, integer, и поток?
leon2009sp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц, летом дешевле!

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Упаковать файл в exe rainbow Общие вопросы Delphi 10 30.10.2013 20:50
как упаковать страничку? maxvip HTML и CSS 1 14.04.2011 08:49
Как упаковать прогу (инсталлятор) HAMMAN Софт 5 06.06.2008 18:32
Помогите упаковать БД Евгений_нн БД в Delphi 2 21.02.2007 23:00