为什么服务程序没有反应? ( 积分: 100 )

  • 主题发起人 主题发起人 lancers
  • 开始时间 开始时间
L

lancers

Unregistered / Unconfirmed
GUEST, unregistred user!
我写了一个服务程序,大致的流程如下:
1.把某些数据表清空
2.备份数据库
3.压缩备份文件
4.将压缩文件上传至FTP
第一步和第二步已经实现,第三和第四部分却实现不了,但我新建一个项目,第三和第四部分的代码却可以实现,难道在服务程序中不能进行这样的操作??部分代码如下,请大家指点:
//压缩数据
with VclZip1 do
  begin
    FilesList.Clear;
    FilesList.Add('//athena/All Download/test.bak');
    ZipName := '//athena/All Download/test.zip';
    Zip;
  end;

//上传文件
with IdFTP1 do
begin
User := 'admin';
Password := 'admin';
Host := 'aaaaaa';
Connect;
end;
idftp1.ChangeDir('/测试');
IdFTP1.TransferType := ftBinary;
IdFTP1.Put('//athena/All Download/test.bak', test.bak');
//断开FTP
IdFTP1.Abort;
IdFTP1.Quit;

另:在服务程序中如何进行调试????
 
我写了一个服务程序,大致的流程如下:
1.把某些数据表清空
2.备份数据库
3.压缩备份文件
4.将压缩文件上传至FTP
第一步和第二步已经实现,第三和第四部分却实现不了,但我新建一个项目,第三和第四部分的代码却可以实现,难道在服务程序中不能进行这样的操作??部分代码如下,请大家指点:
//压缩数据
with VclZip1 do
  begin
    FilesList.Clear;
    FilesList.Add('//athena/All Download/test.bak');
    ZipName := '//athena/All Download/test.zip';
    Zip;
  end;

//上传文件
with IdFTP1 do
begin
User := 'admin';
Password := 'admin';
Host := 'aaaaaa';
Connect;
end;
idftp1.ChangeDir('/测试');
IdFTP1.TransferType := ftBinary;
IdFTP1.Put('//athena/All Download/test.bak', test.bak');
//断开FTP
IdFTP1.Abort;
IdFTP1.Quit;

另:在服务程序中如何进行调试????
 
你先试试在普通的应用中能否实现
在程序中记录日志,方便调试
 
一个文件压缩与解压缩的例子
http://www.delphibbs.com/keylife/iblog_show.asp?xid=13491
 
to xianguo:
在普通的应用程序中测试没有问题,所以我才觉得很奇怪[:(]
 
写跟踪日志吧
 
关于服务程序的调试:
(测试环境:WinXp + Delphi9)
1、在命令行运行服务程序
2、Delphi9->Run->Attach to process...->选择你自己的服务程序->Attach,
然后Delphi9会自动的调出一个Cpu窗口,如果当前正在编辑的代码就是这个服务程序的代码,则此时F9之后,你会看到IDE会变得跟调试普通程序一样,那个绿色的箭头变灰,系统进入调试状态,此时你就可以任意的下断点了:)
 
写过这样的程序,我跟踪的方法的,把程序处理流程写入日志文件,
 
to chengangsir:
跟踪日志??对Service我还不是很熟,有详细点的说明吗?
to dawnsong:
谢谢,我试试
 
多人接受答案了。
 
后退
顶部