问一个Delphi问题,如何在动态库中创建可以输出的类?这个类怎么被EXE程序实例化调用?只需讲讲基本做法,100分就是你的啦!!!! 我是搞VC的,但是现在要做Delphi,这个问题对各位大佬肯定很简单! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 // Delphi 6 开发人员指南//函数单元{ Copyright ?2001 Delphi 6 Developer's Guide Xavier Pacheco and Steve Teixeira }unit StringConvertImp;{$DEFINE STRINGCONVERTLIB}interfaceuses SysUtils;{$I StrConvert.inc}function InitStrConvert(APrepend, AAppend: String): TStringConvert; stdcall;implementationconstructor TStringConvert.Create(APrepend, AAppend: String);begin inherited Create; FPrepend := APrepend; FAppend := AAppend;end;destructor TStringConvert.Destroy;begin inherited Destroy;end;function TStringConvert.ConvertString(AConvertType: TConvertType; AString: String): String;begin case AConvertType of ctUpper: Result := Format('%s%s%s', [FPrepend, UpperCase(AString), FAppend]); ctLower: Result := Format('%s%s%s', [FPrepend, LowerCase(AString), FAppend]); end;end;function InitStrConvert(APrepend, AAppend: String): TStringConvert;begin Result := TStringConvert.Create(APrepend, AAppend);end;end.//调用单元{ Copyright ?2001 Delphi 6 Developer's Guide Xavier Pacheco and Steve Teixeira }unit MainFrm;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;{$I strconvert.inc}type TMainForm = class(TForm) btnUpper: TButton; edtConvertStr: TEdit; btnLower: TButton; procedure btnUpperClick(Sender: TObject); procedure btnLowerClick(Sender: TObject); private public end;var MainForm: TMainForm;function InitStrConvert(APrepend, AAppend: String): TStringConvert; stdcall; external 'STRINGCONVERTLIB.DLL';implementation{$R *.DFM}procedure TMainForm.btnUpperClick(Sender: TObject);var ConvStr: String; FStrConvert: TStringConvert;begin FStrConvert := InitStrConvert('Upper ', ' end'); try ConvStr := edtConvertStr.Text; if ConvStr <> EmptyStr then edtConvertStr.Text := FStrConvert.ConvertString(ctUpper, ConvStr); finally FStrConvert.Free; end;end;procedure TMainForm.btnLowerClick(Sender: TObject);var ConvStr: String; FStrConvert: TStringConvert;begin FStrConvert := InitStrConvert('Lower ', ' end'); try ConvStr := edtConvertStr.Text; if ConvStr <> EmptyStr then edtConvertStr.Text := FStrConvert.ConvertString(ctLower, ConvStr); finally FStrConvert.Free; end;end;end. XPMENU安装到delphi2005后的问题 關於dbgrid1修改的问题 请问Delphi中什么时间函数的计时能达到微秒级,如果没有毫秒级的也行 数据库更新问题,在线等待高手探讨! report machine2.6的rmf文件怎样转成6.5版本的 请问Corba中的Implement什么意思? 移动Word的光标 好消息 急需--机房管理程序! 怎样复制一个数据库的记录到另一个数据库? 好令人费解的问题,各位高手帮帮忙,看一看吧!! Destroy 和 free
//函数单元
{ Copyright ?2001 Delphi 6 Developer's Guide Xavier Pacheco
and Steve Teixeira }unit StringConvertImp;
{$DEFINE STRINGCONVERTLIB}interface
uses SysUtils;
{$I StrConvert.inc}function InitStrConvert(APrepend, AAppend: String): TStringConvert; stdcall;implementationconstructor TStringConvert.Create(APrepend, AAppend: String);
begin
inherited Create;
FPrepend := APrepend;
FAppend := AAppend;
end;destructor TStringConvert.Destroy;
begin
inherited Destroy;
end;function TStringConvert.ConvertString(AConvertType: TConvertType; AString: String): String;
begin
case AConvertType of
ctUpper: Result := Format('%s%s%s', [FPrepend, UpperCase(AString), FAppend]);
ctLower: Result := Format('%s%s%s', [FPrepend, LowerCase(AString), FAppend]);
end;
end;function InitStrConvert(APrepend, AAppend: String): TStringConvert;
begin
Result := TStringConvert.Create(APrepend, AAppend);
end;end.
//调用单元
{ Copyright ?2001 Delphi 6 Developer's Guide Xavier Pacheco
and Steve Teixeira }unit MainFrm;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;{$I strconvert.inc}type
TMainForm = class(TForm)
btnUpper: TButton;
edtConvertStr: TEdit;
btnLower: TButton;
procedure btnUpperClick(Sender: TObject);
procedure btnLowerClick(Sender: TObject);
private
public
end;var
MainForm: TMainForm;function InitStrConvert(APrepend, AAppend: String): TStringConvert; stdcall;
external 'STRINGCONVERTLIB.DLL';implementation{$R *.DFM}procedure TMainForm.btnUpperClick(Sender: TObject);
var
ConvStr: String;
FStrConvert: TStringConvert;
begin
FStrConvert := InitStrConvert('Upper ', ' end');
try
ConvStr := edtConvertStr.Text;
if ConvStr <> EmptyStr then
edtConvertStr.Text := FStrConvert.ConvertString(ctUpper, ConvStr);
finally
FStrConvert.Free;
end;
end;procedure TMainForm.btnLowerClick(Sender: TObject);
var
ConvStr: String;
FStrConvert: TStringConvert;
begin
FStrConvert := InitStrConvert('Lower ', ' end');
try
ConvStr := edtConvertStr.Text;
if ConvStr <> EmptyStr then
edtConvertStr.Text := FStrConvert.ConvertString(ctLower, ConvStr);
finally
FStrConvert.Free;
end;
end;end.