我把程序改为activeform的,现在遇到一个问题:程序需要调用一些文件,原来程序需要文件时指定路径就行了,现在改成activeform的形式,这些文件该怎么处理呢?
解决方案 »
- 问下delphi程序做好后,想打包成安装包,能同时安装数据库,不知道那位有什么好的办法都教我一下
- 用户访问历史
- 限制数据输入范围
- 100分跪求DEPHI(前台)+SQLSERVER(后台)的财务管理系统(源代码)或相关资料
- 请问怎样在CRYSTAL Report 中把Delphi的ClientDataSet用作数据源?
- 我ADVGRID6的控件组,在DLEPH7下通不过,总是说缺.PAS文件,其实它已经存在!为什么...
- 高分求解,解答完了,在送分200,用delphi新建word文档,然后再保存到数据库中。
- treeview控件的使用
- DELPHI的人气不旺了,小伙伴们快回来吧!
- 初学者的menu问题,急啊,各位大虾看看吧?
- listview获取系统图标的问题,要么只能获取文件夹图标,要么只能获取文件图标,请问如何一起获取?
- 不知道怎么问,复合控件的问题,大家往里看,应该不难
这些文件放到哪的系统目录里?服务器?用户的机器?to unsigned
打包放进cab中,那调用这些文件怎么办?访问路径是什么呢?
iLen:DWORD;
pName:array [0..max_path] of char;
s:String;
begin
iLen := max_path;
iLen := GetModuleFileName(GetModuleHandle('TestActiveForm.OCX'),pName,iLen);
SetString(s,pName,iLen);
ShowMessage(s);
end;
而所需文件并不在此路径下。我在c盘搜所需文件的名字,发现文件存放在C:\Documents and Settings\administrator\Local Settings\Temporary Internet Files目录下。如何对这个目录下的*.cab文件操作呢?
"C:\Documents and Settings\administrator\Local Settings\Temporary Internet Files",这个路径是不对的,只是一个下载下来的.CAB文件的路径,而不是执行文件.OCX的路径。至于为什么得到的是"C:\Program Files\Internet Explorer",这个我就不大清楚,我记得使用工具看到的,不是这个路径,我估计是GetModuleHandle失败,返回了0值,这样子的话,得到的就是IExplorer.exe的路径了。
procedure TMyActiveX.Button1Click(Sender: TObject);
var
iLen:DWORD;
pName:array [0..max_path] of char;
s:String;
Ini: TIniFile;
begin
iLen := max_path;
iLen := GetModuleFileName(GetModuleHandle('Project2.ocx'),pName,iLen); //这里的Project2.ocx请使用实际的文件名替代之
SetString(s,pName,iLen);
S := ChangeFileExt(S,'.ini');//这里由于配置文件.ini与.ocx同名,所以只须修改扩展名。
Ini := TIniFile.Create(S);
try
ShowMessage(Ini.ReadString('Test','Main','没取到'));
finally
Ini.Free;
end;
end;配置文件Project.ini当中的有一个节[Test]有一个"Main=测试成功",而程序代码当中写的是如果没有"读取成功",则返回默认值,"没取到"
产品主页: http://www.PowerSOA.cn/
产品页面Demo上可以直接领略CBX RIA企业开发框架的威力。
服务器Excel文件生成
技术构架:Demo程序:
服务器端Chart: