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

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 вся ветка

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



Память: 0.47 MB
Время: 0.021 c
14-41921
kaif
2003-10-19 17:10
2003.11.13
Как грамотно писать: компонент или компонента?


14-41905
Dmitriy O.
2003-10-15 16:24
2003.11.13
Конвертация форматов


1-41248
MaG
2003-10-31 21:42
2003.11.13
Файловая система


1-41218
ildar
2003-11-01 17:37
2003.11.13
Обработка событий от объекта -свойства


3-40785
viper_cd
2003-10-24 21:38
2003.11.13
InterBase




   Наверх