今天正在写一个程序代码,在程序中有很多地方都会调用到同一个函数且函数代码很长。为了给程序减肥也为了优化程序。我在网上找到一个VB生成输出DLL的方法,并使用此方法生成了函数的DLL
以下假定:
假定我将函封装到d:\dll\fileEdit.dll中输出函数为:EditFile(FileName as string)
在程序中调用:EditFile(fileName)时,是不是要等到上一个调用完成后才能进行第二次调呢?呵呵。。对不起我急说得不是很清楚。
简单:在调用我的DLL中的某个函数时。是不是可以同时多次调用。也就是上一次的调用还未处理完,我是否可以在程序的其它不同位置同时调用多次此函数?
顺便问一下循环中使用sleep的方法和使用SLEEP可能带来的不好的影响。
再次谢谢请多多指教。我分不多了对不起了。。请好心人帮帮忙。。最近问得太多了。嘻嘻。

解决方案 »

  1.   

    呵呵。。对不起我急说得不是很清楚。
    简单:在调用我的DLL中的某个函数时。是不是可以同时多次调用。也就是上一次的调用还未处理完,我是否可以在程序的其它不同位置同时调用多次此函数?你是只你的dll里面用了doevents吧.
    这时导致系统检测下窗口消息, 比如你又收到了timer_time
    而这个函数里面又去调dll的那个函数吧.可以继续去调, 其他不同位置也可以同时掉.
    但vb做不到, vb是单线程的,  所以如果一个dll函数没结束
    又去调了dll里面的那个函数, 只有一中可能, 
    就是dll用了doevents, 导致了dll的递归调用。