Форум: "Основная";
Текущий архив: 2002.05.20;
Скачать: [xml.tar.bz2];
Внизформа в 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c