delphi2007 教程

delphi2007 教程

首页 新随笔 联系 聚合 管理
  1013 Posts :: 0 Stories :: 28 Comments :: 0 Trackbacks

#

请教各位高手,我用的数据库是Oracle8i,开发工具用的是delphi5.0,我在windows2000下写的程序在XP系统里面有的界面打不开,我安装了delphi5.0的两个升级包后,在大部分XP系统下运行正常(有的XP系统版本还是打不开),但在windows2003里面运行又出现了XP系统里面出现的问题,请问有什么办法可以解决?!

继续阅读《WIN2000下写的程序在WIN2003或XP系统里面运行出错》的全文内容...



--------------------------
新闻:一款软件何以管理一个复杂的社会
网站导航: 博客园首页  新闻  .NET频道  社区  博问  闪存  找找看
posted @ 2009-06-10 13:54 delphi2007 阅读(227) | 评论 (0)编辑 收藏

怎样在创建TreeView时为每一个节点的data属性赋予一个长字符串值(长度不确定,几十个字符或者上万个字符),在单击每个节点的时候再将每个节点的data值取出来给edit/memo控件

继续阅读《怎样在创建TreeView时为每一个节点的data属性赋予一个长字符串值(长度不确定,几十个字符或者上万个字符),在单击节点的时候再将每个节》的全文内容...



--------------------------
新闻:一款软件何以管理一个复杂的社会
网站导航: 博客园首页  新闻  .NET频道  社区  博问  闪存  找找看
posted @ 2009-06-10 13:54 delphi2007 阅读(257) | 评论 (0)编辑 收藏

ACCESS数据库,FORM中有DateTimePicker控件,现根据需要,在ComboBox中选择是的时候,DateTimePicker中的时间更新到数据库中,如果选否,则ACCESS就不更新,并且以前此列中如果有时间的话要清空的!我不知道大家看懂没有,帮我解决一下吧!

继续阅读《ACCESS数据库的更新疑问!》的全文内容...



--------------------------
新闻:一款软件何以管理一个复杂的社会
网站导航: 博客园首页  新闻  .NET频道  社区  博问  闪存  找找看
posted @ 2009-06-10 13:54 delphi2007 阅读(140) | 评论 (0)编辑 收藏

delphi7   +   sqlserver   2000   做的两层结构(用ado直接连的)   的程序为什么会经常提示‘连接失败’,这个问题以经烦了我好久了都没找出原因。大家帮我想想哪里会出问题。

继续阅读《求助:delphi7 + sqlserver 2000 连接失败》的全文内容...



--------------------------
新闻:一款软件何以管理一个复杂的社会
网站导航: 博客园首页  新闻  .NET频道  社区  博问  闪存  找找看
posted @ 2009-06-10 13:54 delphi2007 阅读(298) | 评论 (0)编辑 收藏

我现在数据库有记录用ADOQUERY写的,现在我想把ADOQUERY的数据写到文本文件  
   
  例如:  
  数据库有字段,A(数值型)   B(字符型)   C(日期型)  
  将查询到的字段写入文本文件  
  并且按照   A"\t"B"\t"C  
  这样的形式分开.  
   
  \t表示TAB即制表符

继续阅读《问下,如何将ADOQUERY或者ADOTABLE的纪录写入文本文件》的全文内容...



--------------------------
新闻:一款软件何以管理一个复杂的社会
网站导航: 博客园首页  新闻  .NET频道  社区  博问  闪存  找找看
posted @ 2009-06-10 13:54 delphi2007 阅读(330) | 评论 (0)编辑 收藏

我想把     字段‘在职状况’赋值为一个常量‘离职’,可是老是报错,  
      我不知道该该加几个逗号。    
  cmd1   .CommandText   :='update   人事档案   set   在职状况   =''离职'''   +'where   档案号=   '''+edt1.Text   '''';  
      cmd1   .Execute   ;  
   
   
 

继续阅读《adocommand 中逗号问题》的全文内容...



--------------------------
新闻:一款软件何以管理一个复杂的社会
网站导航: 博客园首页  新闻  .NET频道  社区  博问  闪存  找找看
posted @ 2009-06-10 13:54 delphi2007 阅读(130) | 评论 (0)编辑 收藏

用WISE打包如何设置环境变量?>

继续阅读《跪求,在线等,一个关于WISE打包写环境变量的问题.很急》的全文内容...



--------------------------
新闻:一款软件何以管理一个复杂的社会
网站导航: 博客园首页  新闻  .NET频道  社区  博问  闪存  找找看
posted @ 2009-06-10 13:54 delphi2007 阅读(301) | 评论 (0)编辑 收藏

请问DELPHI   TADOQUERY   如何获得参数替换后的最终SQL语句?  
  如:  
          ADOQ_Update_pd_d2.SQL.Clear;  
          ADOQ_Update_pd_d2.SQL.Add('update   pd_d2   set   zhsm=:zhsm,ptsm=:ptsm,hq=:hq,pdhhptxx=:pdhhptxx');      
          ADOQ_Update_pd_d2.SQL.Add('where   pdbh=:pdbh   and   pdhh=:pdhh   and   hh=:hh   and   ptxx=:ptxx   and   hhxx=:hhxx');  
   
  。。。。。  
              ADOQ_Update_pd_d2.Parameters.ParamByName('pdbh').Value:=pdbh;  
              ADOQ_Update_pd_d2.Parameters.ParamByName('pdhh').Value:=pdhh;  
              ADOQ_Update_pd_d2.Parameters.ParamByName('hh').Value:=hh;  
              ADOQ_Update_pd_d2.Parameters.ParamByName('ptxx').Value:=ptxx;  
   
  用ADOQ_Update_pd_d2.sql.text取得还是带参数的。  
   
   
 

继续阅读《DELPHI TADOQUERY 如何获得参数替换后的最终SQL语句?》的全文内容...



--------------------------
新闻:一款软件何以管理一个复杂的社会
网站导航: 博客园首页  新闻  .NET频道  社区  博问  闪存  找找看
posted @ 2009-06-10 13:54 delphi2007 阅读(1161) | 评论 (0)编辑 收藏

我做了一个数据库程序用paradox.db作表,本地电脑(windows2000)的C盘是ntfs格式,当我把C盘的安全属性里的权限,拒绝里全部打上钩,上面的名称为"everyone";程序就无法运行,反之就可以运行.真不知道是为什么,怎样才能使程序不受影响?我想是否有一种办法把BDE的数据库引擎注册为服务程序,是不是就可以不受影响了?谢谢

继续阅读《关于桌面型数据库的问题?》的全文内容...



--------------------------
新闻:一款软件何以管理一个复杂的社会
网站导航: 博客园首页  新闻  .NET频道  社区  博问  闪存  找找看
posted @ 2009-06-10 13:54 delphi2007 阅读(140) | 评论 (0)编辑 收藏

运行编译后的exe文件,当退出该文件时,电脑进程中的该文件的进程没有关闭?  
  怎样能够在退出exe文件后,同时关闭电脑进程中的相关进程阿?  
  是不是用啥语句可以用啊???

继续阅读《关于编译完成后的exe文件运行时的问题!》的全文内容...



--------------------------
新闻:一款软件何以管理一个复杂的社会
网站导航: 博客园首页  新闻  .NET频道  社区  博问  闪存  找找看
posted @ 2009-06-10 13:54 delphi2007 阅读(118) | 评论 (0)编辑 收藏

我是做开发的新手,在数据库开发遇到了几个问题。  
      1:我做出来的连接数据库,From运行了半天出不来画面。  
      2:我在界面中添加了一个连接数据库的按钮,当点击连接数据库的时候,鼠标会出来sql图样。  
      3:在连接数据库的时候,加载过程中特别慢。  
      4:在数据表中将会有2-5万的数据,要是全部加载到内存中肯定会影响系统的速度。怎么才能解决这个问题。  
         
   
        在就是我想问问前辈们,当你在做项目中遇到不会的问题,你怎么样去解决。  
  比如,有一个新的控件遇到了不自己不会的地方怎么样去解决这个问题。  
         
      谢谢大家,打扰前辈们工作了。  
 

继续阅读《数据库开发中的难题》的全文内容...



--------------------------
新闻:一款软件何以管理一个复杂的社会
网站导航: 博客园首页  新闻  .NET频道  社区  博问  闪存  找找看
posted @ 2009-06-10 13:54 delphi2007 阅读(94) | 评论 (0)编辑 收藏

怎么delphi5的ADO能连接上网站数据库,delphi7就不行?  
   
  我申请了一个支持sql   server数据库的网站空间,获得了IP地址和用户名密码。  
  通过SQL   Server2000的企业管理器可以连接到网站上的数据库,能管理我自己的数据库mydb了  
  查询分析器也可以连接上  
  本地计算机设置一个ODBC,也可以测试通过  
  问题是:我用delphi7,增加一个ADOconnection连接,不管使用ADO还是ODBC,输入IP地址或者ODBC数据源名称,再输入网站数据库的登陆用户名和密码,都连接不上,提示:SQL   Server不存在或者拒绝访问  
  但是,同样的,我在delphi5里,就可以!  
  这不是郁闷吗  
  我的delphi5安装在xp   pro系统里,sp2补丁;delphi7安装在2000   pro系统里,sp4  
  请教各位,问题出在哪里?

继续阅读《怎么delphi5的ADO能连接上网站数据库,delphi7就不行?》的全文内容...



--------------------------
新闻:一款软件何以管理一个复杂的社会
网站导航: 博客园首页  新闻  .NET频道  社区  博问  闪存  找找看
posted @ 2009-06-10 13:54 delphi2007 阅读(212) | 评论 (0)编辑 收藏

用socketconnection远程交换数据的问题 Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiNetwork/html/delphi_20061121101737291.html
我用socketconnection连接远程sqlserver服务器进行数据交换,交换方式是从客户端读出须上传的数据,然后写入远端数据库,但每次只能写入几十到100多条记录,就不再进行进行,就像死机一样,程序没有反应,请问高手这是怎么回事,请赐教!      
 

一条一条写

我当然是一条一条的写,就像在本地机操作一样,把一个表的数据读出,然后逐条写入另一个表,只是另一个表的连接对象是远程数据库而已,当然我也不知道这种方法好不好。

用户层向业务层提交SQL   语句, 在业务层执行   sql

写到线程里面去

posted @ 2009-05-26 17:29 delphi2007 阅读(425) | 评论 (0)编辑 收藏

我想问问实现填写IE浏览器中的标单啊 Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiNetwork/html/delphi_20061121093527292.html
好吧~~我坦白,我想做个自动填表的东西,但是我不知道有没有办法简单的实现获取网页中的元素,有没有什么控件或者别的东西……  
   
  总不会傻到慢慢的作页面分析然后替换标单实现submit吧……我一开始的想法  
   
  估计比较笨的办法   >_<  
   
  谢谢各位了

www.programfan.com/article/showarticle.asp?id=2967

我以前写的一个投票程序   把里面代码拿出来copy给你    
   
  var  
      nmm_nn:   string;  
      nmm_strdate   :   String;  
      nmm_intz   :   Integer;  
      nmm_inty   :   string;  
      Doc:   IHTMLDocument2;  
      input:OleVariant;  
      userinputelement,pwdinputelement:ihtmlinputelement;  
  begin  
      Randomize;  
      nmm_intz   :=   Random(5000);  
      nmm_inty   :=   getphone   +   getphone   +   getphone;  
      nmm_strdate   :=   '1970-01-01';  
      nmm_nn   :=   ('320500'+   FormatDateTime('yyyymmdd',StrToDate(nmm_strdate)+nmm_intz)+nmm_inty);  
      doc:=webbrowser1.document   as   ihtmldocument2;  
      pwdinputelement:=(doc.all.item('vote',3)   as   ihtmlinputelement);  
      pwdinputelement.checked:=true;  
      userinputelement:=(doc.all.item('name',0)   as   ihtmlinputelement);  
      userinputelement.value:=getname;  
      pwdinputelement:=(doc.all.item('id',0)   as   ihtmlinputelement);  
      pwdinputelement.value   :=   nmm_nn   +   IDToNewID(nmm_nn);  
      pwdinputelement:=(doc.all.item('phone',0)   as   ihtmlinputelement);  
      pwdinputelement.value:='13'+   getphone+getphone+getphone+getphone+getphone+getphone+getphone+getphone+getphone;  
      input:=doc.all.item('submit',0);  
      input.click;  
      Sleep(100);  
      WebBrowser1.Navigate('http://www.ksren.com/movement/Movement_Vote.asp');  
  end;

谢谢楼上的两位,问其解决了不少,但是……遇到了那种下拉菜单,就是选择列表,不是文本框要怎么填写?   =   =   着急中……

public   void   SetFormInputValue(string   Name,   string   Value,   IHTMLFormElement   form)  
                  {  
                          object   o   =   form.item(Name,   0);  
                          if   (o   ==   null)   return;  
                          IHTMLElement   element   =   (IHTMLElement)o;  
                          if   (element.tagName.ToLower()   ==   "input")  
                          {  
                                  IHTMLInputElement   inputElement   =   (IHTMLInputElement)element;  
                                  inputElement.value   =   Value;  
                          }  
                          else   if   (element.tagName.ToLower()   ==   "select")  
                          {  
                                  IHTMLSelectElement   selectElement   =   (IHTMLSelectElement)element;  
                                  selectElement.value   =   Value;  
                          }  
                          else   if   (element.tagName.ToLower()   ==   "textarea")  
                          {  
                                  IHTMLTextAreaElement   textAreaElement   =   (IHTMLTextAreaElement)element;  
                                  textAreaElement.value   =   Value;  
                          }  
                  }

太感谢LS的帮助了~~终于知道为什么了   =   =   IHTMLSelectElement啊~~~眼泪

posted @ 2009-05-26 17:29 delphi2007 阅读(185) | 评论 (0)编辑 收藏

怎样用Delphi的Winsock.pas中的函数获取网络游戏的封包? Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiNetwork/html/delphi_20061120215826293.html
我对Winsock知道得太少,请能帮忙的给一个源码!

问错地方,   Winsock   是开发者用,你这种属于   hacking   ,   找钩子函数相关资料

我找了个例程,可是我读不出来,你能帮我看下吗?  
  QQ   11231221  
 

function   MyRecv(s:   TSocket;   var   Buf;   len,   flags:   Integer):   Integer;   stdcall;  
  var  
      dwSize:   cardinal;  
  begin  
      //这儿进行接收的数据处理  
      //我的问题是在这里怎样得到获取的封包?  
      //调用直正的Recv函数  
      WriteProcessMemory(ProcessHandle,   AddRecv,   @OldProc[1],   8,   dwSize);  
      Result   :=   OldRecv(S,   Buf,   len,   flags);  
      JmpCode.Address   :=   @MyRecv;  
      WriteProcessMemory(ProcessHandle,   AddRecv,   @JmpCode,   8,   dwSize);  
  end;

你这个是   hook   了原socket   的   recv   函数后,   你先处理后交还   recv

我可以在哪里进行怎样的处理?  
  我想得到获取的相关信息  
 

这方面用到的人不多,   不过关心的人多,   google   上一找   hook,钩子,   多了像米,   找找去吧,   一般作项目&产品的人知道,   没作过,   so,   有高人回当然最好啦

呵呵,谢谢!  
 

没有相关高手给我指导下吗?

http://www.csdn.net/develop/article/22/22765.shtm

呵呵,有没有人可以给个能用的源代码呀!  
  只要能获得封包,再加100分

呵呵,我就要可以自己解决问题了,呵呵!  
 

posted @ 2009-05-26 17:29 delphi2007 阅读(536) | 评论 (0)编辑 收藏

SOCKET ERROR 10054....错误 Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiNetwork/html/delphi_20061120163702294.html
procedure   TForm1.FormCreate(Sender:   TObject);  
  begin  
      idudpserver1.DefaultPort:=10260;  
      idudpserver1.Active   :=true;  
      idudpserver1.Send('192.168.1.78',10261,'begin');  
  end;  
   
  上段程序在98下正确,在XP下出错,说是SOCKET   ERROR   10054....错误,机子上没装防火墙的。  
  怎样解决啊  
 

是不是10261端口的接收程序没打开;

应该是你的10261端口的程序里的处理出错  
  10054是远程服务器断开的错误  
  所以如果你的发送没有错误的话,应该是你的另外一端的处理出错然后exception,然后断开的

我出现同样的情况,别人的电脑上是正常运行的,我到电脑是就报“Windows   Wocket   Error:   远程主机强迫关闭一个现在的连接.(100054),on   api   'rece'   ”这样的错误,如果是主机的问题,其它电脑也应该连不上的啊。。。。可就我的电脑连不上,端口也开放了的啊。。。。  
  这种情况要怎样解决啊?  
        谢谢!!!!!!

posted @ 2009-05-26 17:29 delphi2007 阅读(2919) | 评论 (0)编辑 收藏

悬200分!请赐教用Web Service技术做一个通用的数据库间信息交换的程序。 Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiNetwork/html/delphi_20061119214304295.html
想用Web   Service技术做一个通用的数据库间信息交换的程序,这里“通用”的意  
   
  思主要是说让服务发布者可以动态的发布数据库信息,也就是说在要开放数据库  
   
  某些数据时,不用编译这个Web   Service做的程序,而只要改改它的一些外部参数  
   
  就可以发布service(服务)。请高手给点建议或者不吝赐教!!  
   
  QQ:12814574  
  email:hugoon@126.com

帮顶

是不是把目前全球流行的所有数据引擎,如ADO、ODBC、OLEDB、BDE...等等整合就行了

to上楼:  
  也可以暂时把比较常用的数据库正和起来吧,比如至少有ADO,ODBC。  
  能行嘛?

顶LZ   我也在做这个服务的东东啊   有问题加MSN可以一起讨论研究   MSN:zuoansuifeng@hotmail.com         上班不能上QQ所以就只能聊MSN了

脚本          
  接口

比较麻烦  
  太广泛,不好做的

至少做一个SQL2k数据库的行嘛?

我知道比较麻烦,大家可以一起讨论一下,分析分析可行性也好。不知道这里的高手能不能参加讨论呢?

交互用xml,返回数据也用xml

我的意思就是说,如果要现在他要开放数据库里面某些数据,那他没必要修改整个WEb   service,只用改改这个  
  WEb   service的某些外部参数(比如xx.xml),然后就可以顺利完成服务的发布了。  
  我的想法主要体现一个“通用”的意思,因为要客户去发布web   服务的时候,如果对他们来说很麻烦,那就很难有立足之地,只有做通用点,做傻瓜点,他们才觉得很“先进”。不知道我说对了没有?    
 

这段时间很多朋友都对这个话题感兴趣,所以我特地开了一个QQ群方便大家一起讨论:  
   
  14022343  
   
  有时间的朋友也加入吧!  
   
  我的  
  QQ:12814574  
  email:hugoon@126.com  
 

关注!  
   
  个人认为实用的意义不大。因为“通用”不实际。

“通用”不实际?why??

gz

这里高手不少啊,能给点实质性的建议嘛?

为什么在IE里已经可以通过一下地址  
  http://localhost:1024/yy.exe/wsdl/ISoapGrade  
  显示出xml文件了,为什么调用的时importWSDL却出现错误:  
   
  服务器无法驾驶此项请求,也可能给请求无效。  
  Line:   0  
   
  呢?

 
   
  为什么在IE里已经可以通过一下地址  
  http://localhost:1024/yy.exe/wsdl/ISoapGrade  
  显示出xml文件了,为什么调用的时importWSDL却出现错误:  
   
  “  
   
  服务器无法解释此项请求,也可能给请求无效。  
  Line:   0  
   
  ”  
  呢?  
   
  打错字了。

樓主有沒有  
  MSN啊  
  ?

LZ   在上一篇文章帮你说了一下,由于我也是前不久遇到了这个一样的问题,后来发现是路径问题,  
   
  不知你现在有没有解决?我帮你顶!!!  
   
  不好意思,对这方面不很了解帮不上忙了。  
   
  顶!!!

顶!!!  
 

是路径的问题。现在已经解决路径问题了。不过整个问题还没太大进展。  
   
  谢谢你的顶了。

posted @ 2009-05-26 17:29 delphi2007 阅读(127) | 评论 (0)编辑 收藏

[求助]ClientSocket连接问题 Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiNetwork/html/delphi_20061119211029296.html
我是新手,现在碰到如下的问题,对我来说挺棘手的,请教大家了  
   
  CS1:TClientSocket;  
   
  Function   Tform1.ConnectTo(S:string):boolean;   //连接服务器  
  begin  
              ShowMessage('11');  
              CS1.Active:=false;  
              CS1.Address:=S;  
              CS1.Port:=7000;  
              CS1.Active:=true;  
  end;  
   
  自已写的ConnectTo的方法,当我执行ConnectTo(ServerIP);时,也就是执行至上述代码段时,显示完'11'后,立刻就跳出异常,大概是  
  Debugger   Exception   Notification  
   
  Project   Project1.exe   raised   excption   class   EAccessViolation   with   message   'Access   violation   at   address   00454B6C   in   module   'Project1.exe'.Read   of   address   000000030.Process   stopped.  
   
  为什么会这样呢,设CS的Active状态就会这样。看别人的程序,好像都可以啊  
  求助大家了,谢谢啊

自已先顶一个...

大家帮帮忙啊,  
  不知道怎么调咯...

去掉showmessage

你确认你的CS1已经被CREATE了吗?

应该是没有create,  
   
  1.手动create;  
  Function   Tform1.ConnectTo(S:string):boolean;   //连接服务器  
  begin  
              ShowMessage('11');  
              CS1:=TClientSocket.Create(Application);  
              CS1.Active:=false;  
              CS1.Address:=S;  
              CS1.Port:=7000;  
              CS1.Active:=true;  
  end;  
   
   
  2.从控件面板,拉一个TClientSocket下来,将其命名为CS1  
   
  //CS1:TClientSocket;   这个变量声明注释掉

确实是没creat,谢谢大家啊,问题解决了...

posted @ 2009-05-26 17:29 delphi2007 阅读(479) | 评论 (0)编辑 收藏

为何我用idudp写的C/S软件在本地测试没问题 拿到网络上就不能用了呢? Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiNetwork/html/delphi_20061119174126297.html
为何我用idudp写的C/S软件在本地测试没问题   拿到网络上就不能用了呢?  
  试了很多机器了   helpme!

拿到网络上的程序,需要使用UDP打洞技术才能正确的通信。

posted @ 2009-05-26 17:29 delphi2007 阅读(204) | 评论 (0)编辑 收藏

唉,还是用ics控件好啊,比indy控件稳定,强壮多了,大家认为呢? Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiNetwork/html/delphi_20061119144736298.html
唉,还是用ics控件好啊,比indy控件稳定,强壮多了,大家认为呢?

确定是..  
 

这个...不好说,但是功能方面比Indy差很远。  
 

这个.....不觉得

举例说明一下

indy还是比较规范的。小的项目还是没有太大差异的但是遇到大的项目,处理各种异常的情况,还是indy更好些,稳定性和安全性都要好些。

posted @ 2009-05-26 17:29 delphi2007 阅读(1976) | 评论 (0)编辑 收藏

TIdTCPClient的联接问题 Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiNetwork/html/delphi_20061119143329299.html
TIdTCPClient1.Connect(500);  
  连接失败时,有时能够在500返回,有时需要几十秒返回,为什么呢  
 

我也碰到这个问题,这个问题主要出现在不存在的ip情况下,最好先ping一下后连接。

很多IP是不允许PING的,好像隔三五次就有一次时间很长的。

重现很容易的,谁有时间帮看一下  
  procedure   TForm1.Button1Click(Sender:   TObject);  
  var  
      i:   Integer;  
      b:   Cardinal;  
  begin  
      for   i:=   0   to   100   do   begin  
          try  
              b:=   GetTickCount;  
              IdTCPClient1.Connect(500);  
          except  
   
          end;  
          b   :=   GetTickCount   -B;  
          Memo1.Lines.Add(FloatToStr(b));  
      end;  
  end;

随便指定一个连接不上的IP和Port

有没有人搞过,看INdy的代码一天,没有进展,调connect系统函数直接死住了。

你可以ping指定的端口号,为什么不行呢

posted @ 2009-05-26 17:29 delphi2007 阅读(609) | 评论 (0)编辑 收藏

如何将Buffer写入流中? Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiNetwork/html/delphi_20061119104014300.html
var  
  buffer:array   [0..100]   of   char;  
  begin  
  mymemory:tmemorystream.create;  
  mymemory.position:=0;  
  //现在如何将buffer写入流中?

错了   我想问的是如何将流写入buffer中  
  var  
  buffer:array   [0..100]   of   char;  
  begin  
  mymemory:tmemorystream.create;  
  mymemory.position:=0;  
  memo1.lines.savetostream(mymemory);  
  //然后如何将mymemory写入Buffer中?请高手不吝指教

我用的是idudp   这个控件没有sendstream方法   只有sendbuffer

var  
      buffer:   array   [0..100]   of   Char;  
      mymemory:   TMemoryStream;  
  begin  
      mymemory   :=   TMemoryStream.Create;  
      Memo1.Lines.SaveToStream(mymemory);  
      mymemory.Position   :=   0;  
      mymemory.Read(buffer,   SizeOf(buffer));  
      {   TODO   :   操作buffer   }  
   
      mymemory.Free;  
  end;

var  
      S:   string;  
  begin  
      IdUDPClient1.Send(Memo1.Text);  
  //or  
      S   :=   Memo1.Text;  
      if   S   <>   ''   then   IdUDPClient1.SendBuffer(S[1],   Length(S));  
  end;  
 

同意上楼

posted @ 2009-05-26 17:29 delphi2007 阅读(533) | 评论 (0)编辑 收藏

服务器端接收来自多个客户端的文件,服务器要求用多线程 Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiNetwork/html/delphi_20061123153259271.html
使用工具:delphi   7  
  问题:  
          开发一个软件,服务器端能够同时接收来自多个客户端的文件和字符串消息  
   
  有哪位大侠给个解决方案并有例子或代码提示,谢谢!

有没有哪位大侠知道啊

可以用webservice做,也可以用tcp做(和多线程没关系)

webserver可以实现

用indy做

posted @ 2009-05-26 17:28 delphi2007 阅读(369) | 评论 (0)编辑 收藏

【高难度】如何用代码判断本电脑所在的网络是否处于交换机的环境?? Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiNetwork/html/delphi_20061123141119272.html
如题

route   print.

http://www.microsoft.com/technet/prodtechnol/windowsserver2003/zh-chs/library/ServerHelp/dfc5383f-5ec0-4a0f-96da-acee2da3ac2f.mspx?mfr=true  
   
   
  例子  
  本机地址:202.256.257.258      
  掩码:255.255.255.0      
  操作系统:w2k   server      
   
  T:\>route   print      
  ===========================================================================    
  Interface   List      
  0x1   ...........................   MS   TCP   Loopback   interface      
  0x1000003   ...44   e0   4c   10   43   1d   ......   Realtek   RTL8139/810x   Family   Fast   Ethernet   NIC      
  ===========================================================================    
  ==========================================================================      
  Active   Routes:      
  Network   Destination                 Netmask                     Gateway               Interface     Metric      
                      0.0.0.0                     0.0.0.0         202.256.257.1     202.256.257.258             1      
                  127.0.0.0                 255.0.0.0                 127.0.0.1               127.0.0.1               1      
          202.256.257.0         255.255.255.0     202.256.257.258     202.256.257.258             1      
      202.256.257.258     255.255.255.255                 127.0.0.1               127.0.0.1               1      
      202.256.257.255     255.255.255.255     202.256.257.258     202.256.257.258             1      
                  224.0.0.0                 224.0.0.0     202.256.257.258     202.256.257.258             1      
      255.255.255.255     255.255.255.255     202.256.257.258     202.256.257.258             1      
  Default   Gateway:           202.256.257.1      
  ===========================================================================    
   
  这是route命令的第一个参数的输出,首先是最上方给出了接口列表,一个本地循环,一个网卡接口,网卡结构给出了网卡的mac地址。再说说每一列的内容吧,从做到右依次是:Network   Destination(目的地址),Netmask(掩码),Gateway(网关),Interface(接口),Metric(也不知道是什么,姑且认为是一个度量值或是管理距离)。      
            下面说说每一行内容代表的内容,首先是      
  Network   Destination                 Netmask                     Gateway               Interface     Metric      
                      0.0.0.0                     0.0.0.0         202.256.257.1     202.256.257.258             1      
  这表示发向任意网段的数据通过本机接口202.256.257.258被送往一个默认的网关:202.256.257.1,它的管理距离是1,这里对管理距离说说,管理距离指的是在路径选择的过程中信息的可信度,管理距离越小的,可信度越高。      
              再看看第二行      
  Network   Destination                 Netmask                     Gateway               Interface     Metric      
                  127.0.0.0                 255.0.0.0                 127.0.0.1               127.0.0.1               1      
  A类地址中127.0.0.0留住本地调试使用,所以路由表中所以发向127.0.0.0网络的数据通过本地回环127.0.0.1发送给指定的网关:127.0.0.1,也就是从自己的回环接口发到自己的回环接口,这将不会占用局域网带宽。      
            第三行      
  Network   Destination                 Netmask                     Gateway               Interface     Metric      
          202.256.257.0         255.255.255.0     202.256.257.258     202.256.257.258             1      
  这里的目的网络与本机处于一个局域网,所以发向网络202.256.257.0(也就是发向局域网的数据)使用本机:202.256.257.258作为网关,这便不再需要路由器路由或不需要交换机交换,增加了传输效率。      
            第四行      
  Network   Destination                 Netmask                     Gateway               Interface     Metric      
      202.256.257.258     255.255.255.255                 127.0.0.1               127.0.0.1               1      
  表示从自己的主机发送到自己主机的数据包,如果使用的是自己主机的IP地址,跟使用回环地址效果相同,通过同样的途径被路由,也就是如果我有自己的站点,我要浏览自己的站点,在IE地质栏里面输入localhost与202.256.257.258是一样的,尽管localhost被解析为127.0.0.1。      
            第五行      
  Network   Destination                 Netmask                     Gateway               Interface     Metric      
      202.256.257.255     255.255.255.255     202.256.257.258     202.256.257.258             1      
  这里的目的地址是一个局域广播地址,系统对这样的数据包的处理方法是把本机202.256.257.258作为网关,发送局域广播帧,这个帧将被路由器过滤。      
            第六行      
  Network   Destination                 Netmask                     Gateway               Interface     Metric      
                  224.0.0.0                 224.0.0.0     202.256.257.258     202.256.257.258             1      
  这里的目的地址是一个组播(muticast)网络,组播指的是数据包同时发向几个指定的IP地址,其他的地址不会受到影响。系统的处理依然是适用本机作为网关,进行路由。这里有一点要说明的组播可被路由器转发,如果路由器不支持组播,则采用广播方式转发。      
            最后一行      
  Network   Destination                 Netmask                     Gateway               Interface     Metric      
      255.255.255.255     255.255.255.255     202.256.257.258     202.256.257.258             1      
  目的地址是一个广域广播,同样适用本机为网关,广播广播帧,这样的包到达路由器之后被转发还是丢弃根据路由器的配置决定。      
   
  还有个半行没有解释      
  Default   Gateway:           202.256.257.1      
  这是一个缺省的网关,要是发送的数据的目的地址根前面例举的都不匹配的时候,就将数据发送到这个缺省网关,由其决定路由。      
 

其他网络方面的   IpHlpApi   里的api..  
   
  参考例子  
  http://www.delphibox.com/article.asp?articleid=3664

老兄,如果你对所转的贴有一定研究的话   能把实现判断是否处于交换机环境的具体方法写出来吗?   我是个新手,照顾一下吧  
  谢谢

windows能查到的就是这些  
  如何   判断   交换机环境   你还要查下   相关网络书籍..资料   比较复杂..  
   
   
  一般是所在网段的   xxx.xxxx.x.1是交换机   地址   可以telnet   等方式登陆.

xxx.xxxx.x.1也有可能是HUB啊!

我上面都说了。。。

如何   判断   交换机环境   你还要查下   相关网络书籍..资料   比较复杂..  
  ---------------------------------------------------------------  
  大哥     弄了半天转的贴都和我所问的问题没什么关系啊,还不如直接告诉我去查书籍资料了  
  但是还是感谢你的回帖

写程序也是用windows   api   ..  
  也和用   windows系统命令   一样  
  就这些  
  如何判断.   比较复杂了    
  比如   一个网络   用到了   多个   cisco   3550堆叠  
  我只能用   cisco的   命令得到网络   结构..   (telnet.   ..)  
   
  windows系统是不行的...  
 

朋友   不要着急说不行哦,再听听其他朋友的建议

顶一下哦

顶一下哦

posted @ 2009-05-26 17:28 delphi2007 阅读(151) | 评论 (0)编辑 收藏

C/S Soekct编程问题。S端提示C已经断开,为什么C端还是连接状态? Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiNetwork/html/delphi_20061123131217273.html
本人使用了D6自带的Socket控件,做了一个C/S程序。C向S端发送图片数据,加入了网络出错后能重新连接的方法。刚开始连接后可正常传送图片数据到S端。而且手动断开后(如:S端关闭,IP被修改,掉线等)也能够自动连接上。但传送5到10个小时后(时间不固定)。C与S连接就有问题了。S端显示C端已经断开(S端有显示功能),C端没有反应。我故计C端本身还认为自己在连接状态。但就奇怪了。S端事件处理中已经显示C断开了呀?重新启动C端又能正常运转!  
      本人以为是控件问题就换了Indy的idTCPClient和idTCPServer控件。结果也出现一下的情况--正常运转一段时间后。就不再传了。S端也提示C端已经断开。C端也停止了。  
      后来使用其它方法,用了两套控件,一套测试C与S的是否连接,另一套主要是发送图片数据。问题照旧。  
      有那位高手能帮帮我呀。我使用了很多方法都没解决这个问题?按道理说S端都提示断开了。C端也应该断开呀。

这个Socket   没有响应断开的事件。  
  要自己在使用的时候做一下判断。

idTCPClient和idTCPServer控件   应该可以的吧   S没反应   C不传就行了~

这个地方的问题非常复杂。提示你判断client是否还是活动的办法,只有超时,client是否连接server只有通过send数据看是否出现异常!

用控件是会有这些问题,除非你非常详细的了解控件的实现,在我看来,还不如用winScock   Api直接做。

我还不是能能明白你的   意思     :   我大概讲一下   c   /   s   tcp的断开  
   
  1.如果果双方正常断开,是问题的  
  2.在异常情况下,     发送这端能立刻检测到   ,接收端是没反映的  
  3.如果要保持即时获取   断开   情况   ,   必须保持   有数据通信(心跳),自己写代码  
  4.如果控件没有做到2那么控件有问题;   我想delphi里面这几都应该不会这个问题,  
   
  5.基于你上面的情况   ,我不是很了解,问一下,     你的   cs是   不是在路由器的两端?  
 

谢谢。问题已经解决

to   ffx132()您能吧你上述程序的源码贴出来共享一下吗?多谢  
 

判断SocketError

94,把源代码共享一下,大家分享,呵呵

posted @ 2009-05-26 17:28 delphi2007 阅读(328) | 评论 (0)编辑 收藏

com+客户端的发布问题? Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiNetwork/html/delphi_20061123115019274.html
请问Com+的客户端发布时要带上哪些文件?。用的是前绑定。tlb已在客户端注册。  
   
  用来开发的机子连接了几台已配置过的服务器端com+组件都正常,所以服务器权限应该没什么问题。  
   
   
  现在的问题是  
  但把客户端发布到其他电脑上就报   Interface   not   supported  
  请问除了注册tlb文件外,还有哪些要注意的?  
  请问Com+的客户端发布时要带上哪些文件?

可能是还是权限问题,   2003   中   com+   应用程序   default   是对组件进行强制安全检查的(属性->安全叶),   去掉.     前绑定哈,   有难度,   为什么不用那个   IxxxDisp   绑定?

是2000的  
  默认好像强制安全检查是不钩选的。  
   
  请问     comanche(太可怕)       如何使用   IxxxDisp   接口?

安装到别台机上,   如果用的事务模型是   require   以上的话,   要就要求安装那台机上起用   MSDTC,   那个不是服务版的机基本上是禁用的

服务器应该没问题,因为用来开发的机子,都能正常连接安装了组件的服务器。  
  而且dtc已开启。  
   
  不知道为什么做开发的机子,能连正常连接服务器。而其他客户端不行。。。。  
  客户端(dtc也已开启)  
   
  真的很感谢   comanche(太可怕)   的指导!

用调度接口比较简单的,   如果你用的是   CreateRemoteCOM   就可以直接   as   IxxxDisp  
   
  调度接口不要在客户机注册   tlb,   效率上也不低

你用的是   DCOM/Socket   connection?   你可以试下   socket   connection,   如果   socket   connection   可以   dcom   的不行,   那   100%   是权限问题

能发段动态绑定连接的例程吗?

对了,   是不是用到了   midas?   用到的话还要在新安装的那台机上注册   midas.dll

没有用到midas。非数据应用。

这段例子很多啊,   像   master   delphi7   中就有,   找给你  
   
      IFirstServer   =   interface(IDispatch)  
          ['{89855B42-8EFE-11D0-98D0-444553540000}']  
          procedure   ChangeColor;   safecall;  
          function   Get_Value:   Integer;   safecall;  
          procedure   Set_Value(Value:   Integer);   safecall;  
          property   Value:   Integer   read   Get_Value   write   Set_Value;  
      end;  
   
  Then   comes   the   dispinterface,   which   associates   a   number   with   each   element   of   the   IFirstServer   interface:    
   
  type  
      IFirstServerDisp   =   dispinterface  
          ['{89855B42-8EFE-11D0-98D0-444553540000}']  
          procedure   ChangeColor;   dispid   1;  
          property   Value:   Integer   dispid   2;  
      end;  
   
  The   last   portion   of   the   file   includes   a   creator   class,   which   is   used   to   create   an   object   on   the   server   (and   for   this   reason   used   on   the   client   side   of   the   application,   not   on   the   server   side):    
   
   
  //   这段是   IDispatch   调用,   后期  
  var  
      MyServer:   Variant;  
  begin  
      MyServer   :=   CoFirstServer.Create;  
      MyServer.ChangeColor;  
  This   code,   based   on   variants,   is   not   very   different   from   that   of   the   first   controller   you   built   in   this   chapter   (the   one   that   used   Microsoft   Word).   Here   is   the   alternate   code,   which   has   the   same   effect:  
   
   
  //   这段是   COM   interface   调用,   前期  
  var  
      IMyServer:   IFirstServer;  
  begin  
      IMyServer   :=   CoFirstServer.Create;  
      IMyServer.ChangeColor;  
  You've   already   seen   how   you   can   use   the   interface   and   the   variant.   What   about   the   dispatch   interface?   You   can   declare   a   variable   of   the   dispatch   interface   type,   in   this   case:  
   
   
  //   IxxxDisp   智能调度接口调用,   也是前期但不绑定  
  var  
      DMyServer:   IFirstServerDisp;  
  Then   you   can   use   it   to   call   the   methods   as   usual,   after   you've   assigned   an   object   to   it   by   casting   the   object   returned   by   the   creator   class:    
   
  //   这地方有点不对,   CoFirstServer   先   as   了   IFirstServer,   没必要  
  DMyServer   :=   CoFirstServer.Create   as   IFirstServerDisp;  
  DMyServer   :=   CreateComObject(Class_FirstServer)   as   IFirstServerDisp;   就好了  
   
  //   CoFirstServer.Create  
  class   function   CoFirstServer.Create:   IFirstServer;  
  begin  
      Result   :=   CreateComObject(Class_FirstServer)   as   IFirstServer;  
  end;  
   
 

你客户机上的建立服务对像的用的是?     CreateRemoteCOMObject,   还是什么麻烦贴上来

整体是这样完成com+对像,然后_tlb.pas     我不是用com组件工程中的那个。  
  而是用delphi导入类库生成的。  
   
  然后在客户端程序中引用导入的_tlb.pas   我不明白com+组件中生成_tlb.pas   的和导入的_tlb.pas   之前有什么区别?  
   
  var  
      iw:   Ixxx;  
  begin  
      iW   :=   Cocom.CreateRemote(serverName);  
      iw.dosomething;  
  end;  
   
  虽然是前绑定但不应该有错。

那两个没区别,   只要   GUID/IID   相同,   函数定义顺序相同就可  
   
  你这样没问题,   后来我更爱用   IxxxDisp   的方法,   手动写   CreateRemoteCOMObject,   不过也不应有问题了  
   
  这样我作得有点机械化了,   有些细节一时想不到,   ...,   帮顶好了

谢谢   comanche(太可怕)   的帮助!!!

谢谢   comanche(太可怕)   的帮助  
  已经搞定了,不知道为什么客户的com+也须要进行配置才可以。

midas在D6使用时需要在客户端注册midas.dll,但D7只要引用midaslib就OK了。

看过comanche(太可怕)的帖子,都写得不错,看来COM+用了满久了

posted @ 2009-05-26 17:28 delphi2007 阅读(173) | 评论 (0)编辑 收藏

求救客户端创建多线程SOCKET连接 Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiNetwork/html/delphi_20061123095540275.html
现要给工行做一个连接压力测试软件。需要并发连接服务器。现想到的方法是采用多线程建立SOCKET连接,哪位高手有这方面的源码提供参考一下。我的E-Mail:pigjing211@163.com  
  QQ:16704804  
  小弟再次谢过!

没有人我顶

具体要求说一下,急否么。不急可以考虑过几天做一个。

对了我的qq是5928106

unit   Unit1;  
   
  interface  
   
  uses  
      Windows,   Messages,   SysUtils,   Variants,   Classes,   Graphics,   Controls,   Forms,  
      Dialogs,   StdCtrls,   ScktComp;  
   
  type  
      TForm1   =   class(TForm)  
          Label1:   TLabel;  
          Edit1:   TEdit;  
          Label2:   TLabel;  
          Edit2:   TEdit;  
          Button1:   TButton;  
          ClientSocket1:   TClientSocket;  
          Memo1:   TMemo;  
          procedure   Button1Click(Sender:   TObject);  
      private  
          {   Private   declarations   }  
      public  
          {   Public   declarations   }  
          procedure   CreatCS();  
      end;  
  type  
      TMyThread   =   class(TThread)  
      private  
          procedure   Creat;  
          {   Private   declarations   }  
      protected  
          procedure   Execute;   override;  
          procedure   CreatCS;  
      end;  
  var  
      Form1:   TForm1;  
   
  implementation  
   
  {$R   *.dfm}  
  {   TMyThread   }  
   
  procedure   TMyThread.Creat;  
  begin  
   
  end;  
   
  procedure   TMyThread.CreatCS;  
  begin  
      Form1.CreatCS;  
  end;  
   
  procedure   TMyThread.Execute;  
  begin  
      inherited;  
      Synchronize(CreatCS);  
  end;  
  {   TForm1   }  
   
  procedure   TForm1.CreatCS;  
  Var  
      CS:TClientSocket;  
  begin  
      CS:=TClientSocket.Create(Self);  
      CS.Address:=Edit1.Text;  
      CS.Port:=strtoint(Edit2.Text);  
      CS.Open;  
      //sleep(1000);  
      //CS.Socket.SendText('4100');  
      Memo1.Lines.Add(formatdatetime('yyyy-MM-dd   hh:ss:mm',now)+inttostr(cs.Socket.Handle));  
  end;  
   
  procedure   TForm1.Button1Click(Sender:   TObject);  
  var  
    i:integer;  
  begin  
      for   i:=0   to   10   do  
      begin  
          TMyThread.Create(False);  
   
      end;  
  end;  
   
  end.  
  看看是十个线程的SOCKET的连接代码吗?  
 

posted @ 2009-05-26 17:28 delphi2007 阅读(501) | 评论 (0)编辑 收藏

我用IndyTcpServer的时候,收到信息写到界面的时候报异常,请问怎么回事 Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiNetwork/html/delphi_20061123075059276.html
收到信息代码如下:  
  procedure   TForm1.ServerExecuteNew(AThread:   TIdPeerThread);  
  var  
      ActClient,   RecClient:   PClient;  
      SMSPackage:   TSMSPackage;  
      RecThread:   TIdPeerThread;  
  //     mobile1,msg1:string;  
      i,size:   Integer;  
      ms:TMemoryStream;  
      fn:string;  
      mo,ms1:string;  
  begin  
      memo1.Lines.Add('--------------------------------------------------');  
      memo1.Lines.Add('                                                                               ');  
      memo1.Lines.Add('ServerExecuteNew');  
      if   not   AThread.Terminated   and   AThread.Connection.Connected   then  
      begin  
          ms   :=   TMemoryStream.Create;  
          AThread.Connection.ReadBuffer   (SMSPackage,   SizeOf   (TSMSPackage));  
          ActClient   :=   PClient(AThread.Data);  
          ActClient.LastAction   :=   Now;     //   update   the   time   of   last   action  
   
          ms.WriteBuffer(SMSPackage,sizeof(TSMSPackage));  
          fn   :=   formatDateTime('hhmmsszzz',now);  
          fn   :=   'c:\package\'+fn;  
          ms.SaveToFile(fn);  
          ms.Free;  
   
   
          size   :=   SMSPackage.pkMobileLen;  
          setlength(mo,size);  
          AThread.Connection.ReadBuffer   (mo,   size);  
          size   :=   SMSPackage.pkMsgLen;  
          setLength(ms1,size);  
          AThread.Connection.ReadBuffer   (ms1,   size);  
   
  self.memo1.lines.add(mo);  
  self.memo1.lines.add(ms1);  
   
      end;  
  end;  
   
  在self.memo1.lines.add(mo)的时候报内存访问异常,请问怎么回事  
  是不是在一个ServerExecut不能多次readbuffer呢

曾经做过一些类似的,但是现在想不起来了。  
   
  建议你去看看Delphi6网络编程这个本书。

ms   :=   TMemoryStream.Create;  
          AThread.Connection.ReadBuffer   (SMSPackage,   SizeOf   (TSMSPackage));  
          ActClient   :=   PClient(AThread.Data);  
          ActClient.LastAction   :=   Now;     //   update   the   time   of   last   action  
   
          ms.WriteBuffer(SMSPackage,sizeof(TSMSPackage));  
          fn   :=   formatDateTime('hhmmsszzz',now);  
          fn   :=   'c:\package\'+fn;  
          ms.SaveToFile(fn);  
          ms.Free;  
   
  这段的MS创建和释放我觉得还是加个异常比较保险    
   
  一个ServerExecut能不能多次readbuffer呢?  
   
  答案是可以的,这个应该没问题  
   
 

ms   :=   TMemoryStream.Create;  
          AThread.Connection.ReadBuffer   (SMSPackage,   SizeOf   (TSMSPackage));  
          ActClient   :=   PClient(AThread.Data);  
          ActClient.LastAction   :=   Now;     //   update   the   time   of   last   action  
   
          ms.WriteBuffer(SMSPackage,sizeof(TSMSPackage));  
          fn   :=   formatDateTime('hhmmsszzz',now);  
          fn   :=   'c:\package\'+fn;  
          ms.SaveToFile(fn);  
          ms.Free;  
   
  MS只是一段调试信息,把收到的包打印到文件中去而已,可以去掉  
  我现在问题是在第二次向界面写数据的时候报内存访问异常,是否在这里需要进行线程同步

接收的时候,是否缓冲中有内容跳ServerExecute的时候就会报异常呢

需要同步操作界面,因为AThread的Execute是多线程执行的,如果多个客户同时连接的时候就会出错。所以你要用Athread.Synchronize函数同步操作界面

忘记delphi中的string是个数组了,晕,要用ms.write(ms[1],size)来读数组

其实是DELPHI中的STRING的问题,晕死,DELPHI中的String类型比较奇特

线程中用VCL,必须Synchronize方法

我怀疑你的mo中有异常字符,在加入前好好检查一下或用其它方式来显示

加个断点去看看mo中是什么不就有数了?

posted @ 2009-05-26 17:28 delphi2007 阅读(180) | 评论 (0)编辑 收藏

多线程同时只能一个现成操作文件 Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiNetwork/html/delphi_20061123004431277.html
多线程同时只能一个现成操作文件   或者是读取一个Tstringlist  
   
      谢谢  
          这个要怎么写

用互斥体,  
   
  hIOMutex=   CreateMutex   (NULL,   FALSE,   NULL);  
  创建互斥体对象,  
   
  在线程中需要对对象(资源)操作时,调用  
  WaitForSingleObject(   hIOMutex,   INFINITE   );  
  操作完对象(资源)后再用  
  ReleaseMutex(   hIOMutex);释放。

<WINDOWS核心编程>

posted @ 2009-05-26 17:28 delphi2007 阅读(410) | 评论 (0)编辑 收藏

谁能提供一个绝对能用的Web Services 的例子? Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiNetwork/html/delphi_20061122213521278.html
如题。  
   
  联系方式:  
   
  hugoon@126.com  
   
   
  QQ:12814574  
   
  分不够可以再加。

倒~~~,   这段时间问这个的人很多啊  
   
  WebService   例子很简单啊,   不知怎说,   倒是之后配到   iis   下运行有点麻烦,   在   apache   上运行就相当方便  
   
  加你   QQ   了

非常欢迎和感谢,我这段时间一直在搞这个东西,所以问的人几乎都时我!  
   
 

期待ing

非常感谢你,comanche!

posted @ 2009-05-26 17:28 delphi2007 阅读(124) | 评论 (0)编辑 收藏

仅列出标题
共34页: 1 2 3 4 5 6 7 8 9 Last