问题主要有三个:
1、控件安装问题:是这样的,delphi的版本是delphi7,fastreport的版本是3.04,teechart的版本是7.0,QuickReport的版本是4.0,我想把三组控件都安装上,我现在是先安tee7,然后安quickreport4,安quickreport4的同时,要卸掉以前的版本,这样安好quickreport4后,安fastreport时,就报错,好象fastreport要用到被卸载的那个Qreport版本。
要想安装这三个新版本的控件而不起冲突,应该怎么安装呢?2、我想把皮肤文件、图片、动画文件(avi)等资源文件都封装到资源型的DLL文件里,这种类型的资源文件该怎么做呢?程序在调用里面的资源时又该怎么处理呢?3、关于字符串的显示问题:是这样子,我要把一个TRichEdit里面的内容打印到QReport报表上,我的想法是,TRichEdit里面的一行要映射到Qreport的一个Memo里,而Qreport的一页只显示30行,若超过30行,则新加一页,这样做,主要是为了做出底纹效果: 报表头
---------------------------------------
这是第一行(对应RichEdit里面的第一行)
---------------------------------------
这是第二行(对应RichEdit里面的第二行)
---------------------------------------
..............(省略中间的行)
---------------------------------------
这个是第29行(对应RichEdit里面的第29行)
---------------------------------------
这个是第30行(对应RichEdit里面的第30行)
---------------------------------------
以上就完成了一页,若,RichEdit里面的内容超过30行(假设为35行),那么Qreport必须要自己加页,下面是第二页: 报表头(第二页的报表头)
---------------------------------------
第二页第一行,对应RichEdit的第31行
---------------------------------------
第二页第二行,对应RichEdit的第32行
---------------------------------------
第二页第四行,对应RichEdit的第33行
---------------------------------------
第二页第五行,对应RichEdit的第34行
---------------------------------------
第二页第六行,对应RichEdit的第35行
---------------------------------------
第二页第七行(RichEdit没有内容了,所以从这行开始到本页结束都是空行)
---------------------------------------
..................省略中间的空行
---------------------------------------
第二页第29行(空行)
---------------------------------------
第二页第30行(空行)
---------------------------------------
上面就是我要实现的内容,该怎么实现才好呢?
1、控件安装问题:是这样的,delphi的版本是delphi7,fastreport的版本是3.04,teechart的版本是7.0,QuickReport的版本是4.0,我想把三组控件都安装上,我现在是先安tee7,然后安quickreport4,安quickreport4的同时,要卸掉以前的版本,这样安好quickreport4后,安fastreport时,就报错,好象fastreport要用到被卸载的那个Qreport版本。
要想安装这三个新版本的控件而不起冲突,应该怎么安装呢?2、我想把皮肤文件、图片、动画文件(avi)等资源文件都封装到资源型的DLL文件里,这种类型的资源文件该怎么做呢?程序在调用里面的资源时又该怎么处理呢?3、关于字符串的显示问题:是这样子,我要把一个TRichEdit里面的内容打印到QReport报表上,我的想法是,TRichEdit里面的一行要映射到Qreport的一个Memo里,而Qreport的一页只显示30行,若超过30行,则新加一页,这样做,主要是为了做出底纹效果: 报表头
---------------------------------------
这是第一行(对应RichEdit里面的第一行)
---------------------------------------
这是第二行(对应RichEdit里面的第二行)
---------------------------------------
..............(省略中间的行)
---------------------------------------
这个是第29行(对应RichEdit里面的第29行)
---------------------------------------
这个是第30行(对应RichEdit里面的第30行)
---------------------------------------
以上就完成了一页,若,RichEdit里面的内容超过30行(假设为35行),那么Qreport必须要自己加页,下面是第二页: 报表头(第二页的报表头)
---------------------------------------
第二页第一行,对应RichEdit的第31行
---------------------------------------
第二页第二行,对应RichEdit的第32行
---------------------------------------
第二页第四行,对应RichEdit的第33行
---------------------------------------
第二页第五行,对应RichEdit的第34行
---------------------------------------
第二页第六行,对应RichEdit的第35行
---------------------------------------
第二页第七行(RichEdit没有内容了,所以从这行开始到本页结束都是空行)
---------------------------------------
..................省略中间的空行
---------------------------------------
第二页第29行(空行)
---------------------------------------
第二页第30行(空行)
---------------------------------------
上面就是我要实现的内容,该怎么实现才好呢?
示例:
library ResTest;
uses
SysUtils;
{$R MYRES.RES}
begin
end.
使用这个纯资源DLL时,只需要简单地载入这个DLL,就可以使用你想使用的资源。
示例:
{$IFDEF WIN32}
const BadDllLoad = 0;
{$ELSE}
const BadDllLoad = 32;
{$ENDIF}
procedure TForm1.Button1Click(Sender: TObject);
var
h : THandle;
Icon : THandle;
begin
h := LoadLibrary('RESTEST.DLL');
if h <= BadDllLoad then
ShowMessage('Bad Dll Load')
else begin
Icon := LoadIcon(h, 'ICON_1');
DrawIcon(Form1.Canvas.Handle, 10, 10, Icon);
FreeLibrary(h);
end;
end;