1、现在有一个程序,确定使用 Delphi 开发的,但是不知道是用哪个版
   本开发的,有没有方法可以知道??2、这个Delphi程序中用到了 DBGridEH 控件,有么有办法知道用的是
   DBGridEh的哪个版本??

解决方案 »

  1.   

    用PEiD这个软件,也许能看到一点东西!
      

  2.   

    如果你使用的是win2k3以上的系统,可以把程序拖到记事本当中,多少都会记录一些啥啥bpl之类的,这个时候,可以根据vclxx.bpl来判断,当然还须判断是不是C++ Builder编译出来的。
      

  3.   

    不知楼主是有了这个程序的源程序还是最后编译出的EXE文件?
    如果是EXE文件, 知道了开发用的Delphi版本也没有什么用处的。
    所以猜测楼主是有了源程序。1.尝试用不同版本(先用高版本的,逐步降低版本)的Delphi去打开这个工程,能正常打开就OK了。2.Ehlib的高版本是向下兼容的,在Delphi环境中安装一个比较新版本的就行了。
      

  4.   

    dede + pe explorer + ultraedit
    可以 看到
      

  5.   

    我是楼主。没有源代码。 只有一个 Exe 文件,我做了一个 dll 挂接到 EXE文件中,然后可以获取到目标EXE文件中当前位于顶层的窗口的且有输入焦点的DBGridEH控件的句柄,然后通过句柄获取到了对象地址。但是现在碰到一个问题,在调用这个对象的方法的时候,如Next、Prior、Last、Edit、Post等属性或方法都是可以用的,但是在调用 SelectedRows.CurrSelected := True 时,总是提示 “不正确的指针操作”(提示是英文的,我忘了,翻译过来就是这样),查看DBGridEH的源码又看的不是很明白。
    所以才提出这个问题,看看是不是我编写Dll时用的控件不对。
    我的DLL的开发环境: Delphi7 + DBGridEH 3.3。还有,好像DBGridEH没有属性或者方法可以弹出一个“关于”对话框。(DxdbGrid就有)
      

  6.   

    关于在目标DLL中挂接DLL,并获取顶层窗口DBGridEH对象地址的源码,我以前有提问过,多谢 newfang(传说中的MIC) 帮忙。如果谁想要,我可以把完整源码给他。
      

  7.   

    brightyang()说的没错,用DEDE就知道了
      

  8.   

    第一个问题已经找到答案:是Delphi7开发的。但第二个问题依然无解
      

  9.   

    我发现 EHLIB 控件只在每个单元的顶部声明了版本号,没有什么函数方法可以调用弹出About窗口。
    由于版本号声明在注释里,那么编译成exe文件时会被过滤掉,那就是说在exe里根本找不到EHLIB控件的版本声明了。不知道理解的对不对