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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.10.2007, 21:41   #11
LAFam
Пользователь
 
Регистрация: 13.10.2007
Сообщений: 11
По умолчанию

Хорошо... А если мне нужно не закрыть форму а сделать ее активной?
LAFam вне форума Ответить с цитированием
Старый 17.10.2007, 00:09   #12
Maslan
Форумчанин
 
Регистрация: 15.10.2007
Сообщений: 147
По умолчанию

Возможно тогда стоит послать WM_SHOWWINDOW или WM_ACTIVATE ?
Maslan вне форума Ответить с цитированием
Старый 17.10.2007, 21:48   #13
LAFam
Пользователь
 
Регистрация: 13.10.2007
Сообщений: 11
По умолчанию

Смотри вот текст моей программы:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Label1: TLabel;

procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Function F3(s:integer):integer; StdCall;


var
Form1: TForm1;

implementation
Function F3; external 'MyFunction.dll' name 'lala';
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
s4 : integer;
begin
s4 := strtoint(form1.Edit1.Text);
form1.Label1.Caption:=inttostr(F3(s 4));
end;

end.

Одна кнопка, один эдит, один лабел.

Вот текст длл:
library Dll;
Function func1(param1:integer):integer;
begin
Result:=param1;
end;
exports func1 index 0 name 'lala';
begin
end.

Дает ошибку.
Замысел такой в эдит вводишь число и оно выводится в лабел.
(ток не надо обьяснять что можно так
form1.label1.caption:=form1.edit1.t ext
я эт знаю но хочу через длл)
LAFam вне форума Ответить с цитированием
Старый 18.10.2007, 16:21   #14
Maslan
Форумчанин
 
Регистрация: 15.10.2007
Сообщений: 147
По умолчанию

В программе
Цитата:
Function F3; external 'MyFunction.dll' name 'lala';
Но библиотека называется не так!
Цитата:
library Dll;
Попробуй в проге
Цитата:
Function F3; external 'DLL.dll' name 'lala';
Да, и ещё скопируй dll.dll в папку с прогой....

PS: "StdCall;" или везде пиши (это лучше) или нигде.
PPS: импортируемую из dll функцию достаточно только объявить, сразу указав, что она внешняя, и не писать это в реализации.
Т.е. в разделе Interface
Цитата:
Function F3(s:integer):integer; StdCall;external 'DLL.dll' name 'lala';

Последний раз редактировалось Maslan; 18.10.2007 в 16:25.
Maslan вне форума Ответить с цитированием
Ответ


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

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

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