Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.20;
Скачать: CL | DM;

Вниз

форма в Dll   Найти похожие ветки 

 
rem_   (2002-05-07 17:57) [0]

Есть Dll:

library pickclr;

uses
SysUtils,
Classes,
ColorFrm in "ColorFrm.pas" {ColorSelectionForm};

Exports

ColorFrm.PickColors index 1 name "PickColors";

{$R *.res}

begin
end.

{ ==========================================================}

unit ColorFrm;

interface

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

type
TColorSelectionForm = class(TForm)
ColorGrid1: TColorGrid;
btnOK: TButton;
btnCancel: TButton;
private
{ Private declarations }
public
{ Public declarations }
function Execute : boolean;
end;

var
ColorSelectionForm: TColorSelectionForm;

function PickColors (var Foreground, BackGround : TColor) : boolean; stdcall; export;

implementation

{$R *.dfm}

function TColorSelectionForm.Execute : boolean;
begin
Result := (ShowModal = mrOk);
end;

function PickColors (var Foreground,
Background : TColor) : boolean; stdcall;
var
ColorForm : TColorSelectionForm;
begin
ColorForm :=
TColorSelectionForm.Create (Application);
Result := ColorForm.Execute;
if (Result = True) then begin
Foreground := ColorForm.ColorGrid1.ForegroundColor;
Background := ColorForm.ColorGrid1.BackgroundColor;
end;
ColorForm.Free;
end;

end.

Есть приложение:

unit Mn;

interface

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

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var S,d : TColor;
begin
PickColors(s,d);
Form1.Color:=s;
end;

end.

{ ==========================================================}

unit DlModule;

interface

uses Graphics;

function PickColors(var Foreground, BackGround : TColor) : boolean; external
"pickclr.dll";

implementation

end.

Когда нажимаю клавишу из Dll загружается форма, на ней я выбираю цвет и нажимаю OK - появляется сообощение об exception - Access Violation.

Почему ?


 
rem_   (2002-05-08 16:06) [1]

Неужели это так сложно ?


 
Alx2 ©   (2002-05-08 16:11) [2]

sharemem?



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

Текущий архив: 2002.05.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
1-64690
Анатолий
2002-05-06 13:33
2002.05.20
Шрифты


1-64727
ymin
2002-05-07 08:55
2002.05.20
forms


1-64736
Хелп
2002-05-07 10:51
2002.05.20
Хелп !!!!!!!


3-64551
volodya_
2002-04-11 10:04
2002.05.20
DbGrid


4-64878
REL_
2002-03-15 14:54
2002.05.20
CreateWindow