Форум: "Основная";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];
Вниз2 вопроса про DLL Найти похожие ветки
← →
Andrew1_1 (2003-10-26 21:32) [0]У меня такой вопрос:
Можно ли в dll-ке управлять кнопкой (или формой, это не важно..) из exe-шника? Например:
{1}
library mydll;
uses
Windows, Messages, SysUtils, Classes, Unit1;
{$R *.res}
Function Sum1(a: shortstring): shortstring; stdcall;
begin
Result := Unit1.Form1.Caption + a;
{Вот это не срабатывает, ошибка выводится}
end;
Exports Sum1;
....
{2}
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
{Из DLL}
function Sum1(a: shortstring): shortstring; stdcall; External "Mydll.dll";
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
label1.Caption:= Sum1("aaa");
end;
.....
И еще один вопрос: Почему нельзя использовать тип string - проходит только с shortstring ?
И вообще не подскажете, где можно найти побольше материала об использовании dll ?
← →
Feofan (2003-10-26 21:45) [1]>Result := Unit1.Form1.Caption + a;
1.А где Form1 создано то?
2.Лучше использовать PChar потому как оно надежнее!
Ты когда ДЛЛ создаешь там почитай чего за коментарии пишут в начале проекта.
← →
kavlad (2003-10-27 09:28) [2]> Result := Unit1.Form1.Caption + a;
Form1 из exe - dll должна получить на нее ссылку.
← →
REA (2003-10-27 11:24) [3]В принципе можно до определенной степени, но если предполагаются такие вызовы, лучше использовать BPL вместо DLL.
← →
Andrew1_1 (2003-10-27 11:28) [4]>REA А как это сделать? Ну как получить ссылку на exe? У меня же есть в длл ссылка на unit1...
← →
REA (2003-10-27 11:32) [5]Вопросы некорректны. Что именно требуется?
← →
Andrew1_1 (2003-10-27 11:36) [6]Короче, требуется чтобы работала функция Sum1. А она берет значение из Формы в unit1, которая(Unit1) относится к exe.
Как это сделать? =)
← →
panov (2003-10-27 11:55) [7]В функцию надо передавать значение поля, а не само поле.
← →
Andrew1_1 (2003-10-27 15:42) [8]А у меня что передает???
← →
panov (2003-10-27 16:08) [9]А ты передаешь строку, а потом пытаешься обратиться к форме, которая определена неизвестно где, неизвестно как.
Передавай 2 параметра - значение Caption и a: shortstring
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.037 c