Главная страница
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.019 c
6-64766
Cor
2002-02-19 07:12
2002.05.20
Блокирование портов


3-64460
maxim2
2002-04-24 22:21
2002.05.20
Можноли задать любой цвет для DBGrid или шапки DBGrig


1-64677
anod
2002-05-06 00:26
2002.05.20
TLISTVIEW


3-64467
SelfDestructor
2002-04-24 21:13
2002.05.20
RIGHT JOIN в ADO


14-64789
Martyn
2002-04-08 15:34
2002.05.20
Delphi + Excel