同情。
你可以用他们c++builder的设计来做,本身delphi和c++builder是相通的,只不过具体的实现不一样。

解决方案 »

  1.   

    是啊。
    看来,只好老老实实地把C++绎成Pascal吧!
    再对程序的几个模块改进一下,你们说,这样做行吧?
    其它的,不应该还有什么要做的吧!
      

  2.   

    高手们帮我看看这个问题,我7天了都没解决。 一个人学真不容易。
    http://www.csdn.net/expert/topic/909/909516.xml?temp=.7200891
      

  3.   

    兄弟,我做过这个方面的系统,你们是用GSM MODEM ,手机,还是抓取别人的网关呢?有什么需求我可以和你合作。
      

  4.   

    兄弟,你是同我说,还是同楼上的guorui说呢?
      

  5.   

    思想恐龙..
    我见过的几个短信平台之类的东东,,它们大多是采用数据库进行数据交换.
    一方写入, 一方轮询....
    CPU 耗用过多经常是出在数据库连接上,还有轮询读出数据上..把原有的系统结构体系尽可能用图画和文字表示出来. 
    你不懂通用的表示方法也无所谓,反正你自己感觉能表达出意思就行.
    (除非技术主管是非常内行的呵呵而且对你要求严格)原有的系统,分析改进,找出关键所在,尽可能重用. 祝你好运...
    好象以前有我贴子你没有结,嘿嘿..
      

  6.   

    方案,一定要抄,
    不然不能过CMM3,或ISO9000、
    是吧,
    发MAIL吧。
    [email protected]
    我给 你一个我现在的,
    你改改,
    重点,是时间段
    分数么,多多地给哟,
    明儿见
      

  7.   

    [email protected]
    快给吧。分数好说。
      

  8.   

    void __fastcall NDHYThread::Execute()
    { //chen:线程的执行函数
        bThreadExit = false;
        while(!Terminated)//
        {
            while(!opened&&!Terminated)
                {
                Synchronize(opendatabase); 
                Beep();
                Sleep(1000);
                           }
            if(haved) 
            {  //读取接收表
                Synchronize(Read_sm);//
                if(!smta_error)//?
                   {
                    Beep();
                    Sleep(1000);
                    continue;
                    }            //根据接收信息发送数据
                Synchronize(Send_sm);//
                if(!smta_error) //
                    {
                    Beep();
                    Sleep(1000);
                    continue;
                    }
                haved=false;
                Sleep(1000);
            } //chen:not haved
            else
            { //发送定制
                Synchronize(Send_dzsm);//?
                if(!smta_error)
                {
                    Beep();
                    Sleep(1000);
                    continue;
                }
                haved=true;
            }
        }
        bThreadExit = true;
    }
    这是线程的函数,短信主要就是它做的。
    帮我看看,它是不是造成CPU占用过高的祸首?
      

  9.   

    Synchronize 通常用来控制线程的同步,这段代码中出现了很多次opendatabase 是个很占时间的操作,与它同步会导致连接数据库的
            同时程序状如死机建议数据库采用长连接
      

  10.   

    经(我是笨笨)大哥一说,我才发现真的是这样的耶。。
    现在的问题有:
    1,CPU占用率过高的原因与synchronize的个数有关吗?
    2,如果不用synchronize,直接在线程中调用函数,可以吗?
    有没有什么CPU或内存方面的不良后果?
    3,现在想办法去改线程中有用过数据库的函数,使函数库“长连接”
    是吧!
    呵呵。。
      

  11.   

    adoquery1.close;
    adoquery1.sql.clear;
    adoquery1.sql.add('select * from XXX');
    adoquery1.open..
    这就是线程中调用的函数opendatabase中用到的一段代码!CPU占用就是adoquery1过繁的打开与关闭造成的吗?如果要长连的话,在打开的情况下,不能对sql进行clear和add的啊。
    怎么办啊?
      

  12.   

    我大概知道怎么做了。
       adoquery1.Parameters.ParamByName ('str').value:='Eel';
       adoquery1.Requery ([eoAsyncFetchNonBlocking]);
    这样就可以对SQL语句作出动态的更新了。
    这样,就可以不关闭数据库,“长连接”了。
    哈哈。
    我的工作有救了。