标题:急!VB中,CommonDialog1与Call Shell会冲突?
只看楼主
fantasy_spz
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-8-21
结帖率:0
 问题点数:0 回复次数:9 
急!VB中,CommonDialog1与Call Shell会冲突?
请教高人,我在VB中使用Call Shell调用C语言生成的.exe文件,点击按钮使.exe文件执行,但是现在发生了一个问题,就是我同时用到了CommonDialog1控件来打开文本文件,但是我每次点击过使用这个控件的按钮打开文件之后,再去点击执行.exe文件的按钮,.exe文件执行后,该应用程序找不参数文件,无法顺利运行,请高人指点!项目中,急!!!!
先谢过!!!!!!!!!!!!!
源代码
Private Sub Command2_Click()
    Dim fstr As String
    CommonDialog1.Filter = "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*"
    CommonDialog1.ShowOpen
    fstr = CommonDialog1.FileName
        If fstr <> "" Then
        Text5.Text = fstr
    End If
End Sub

Private Sub Command5_Click()
Call Shell(App.Path + "\windowpick.exe", vbNormalFocus)
End Sub
搜索更多相关主题的帖子: VB中 Shell Call 源代码 文件 
2008-07-11 16:25
cbean
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2008-7-11
得分:0 
为何我调试没问题??
2008-07-15 21:50
niugongjie
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-8-18
得分:0 
你好!!呵呵,我也遇到这个问题了,要执行的文件是个fortran生成的exe文件,在没打开commondialogue之前是好的,但是大之后,shell函数就不管用了。
但我用其他的exe文件试过了,没问题。真是怪了!
两种情况shell都返回进程ID,说明程序调用成功,但是fortran编的那个exe文件在打开commondialogue之后怎么就不能处理数据了呢!!?
请问楼上的兄弟解决了吗????
2008-08-18 18:11
Joforn
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1242
专家分:122
注 册:2007-1-2
得分:0 
运行路径的问题

VB QQ群:47715789
2008-08-20 17:23
fantasy_spz
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-8-21
得分:0 
前面的问题依然没有解决,实在不知道怎么办才好?
请哪个好心的高人帮我解决一下,小弟跪谢了!!!!
2008-09-22 10:36
fantasy_spz
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-8-21
得分:0 
我又遇到了一个新的问题,也不知道是什么原因?
我利用C语言生成了一个.exe文件,该文件的作用是:当该文件运行的时候,要去读取一个参数文件,然后通过读进来的参数运行程序。
可是我利用VB做的界面,点击按钮去执行该.exe文件,却发生打开参数文件时出错,而如果我单纯地去双击该.exe文件,该程序可以成功运行,可是我一点击按钮去调用时,却发生打开参数文件时出错!
我不知道是什么原因?
下面是VB执行.exe文件的代码,不知道哪里有问题,请高人指教!
补充一下:路径肯定是没有问题的。因为我改写调用其它现有的.exe时,是可以顺利执行的!
(“\waveextract”是当前路径下的一个文件夹,而“windowpick.exe”位于该文件夹下)
Private Sub Command2_Click()
Call Shell(App.Path + "\waveextract\windowpick.exe", vbNormalFocus)
End Sub
2008-09-22 11:11
三断笛
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:31
帖 子:1621
专家分:1617
注 册:2007-5-24
得分:0 
会不会是VB的程序导致C语言不能正确读取你的参数文件呢?
换一个不用读取其他文件的C语言程序看看,如果能正常运行,那就是C程序读取文件出错了,很可能是参数文件路径问题.
2008-09-22 11:30
Joforn
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1242
专家分:122
注 册:2007-1-2
得分:0 
[bo][un]fantasy_spz[/un] 在 2008-9-22 11:11 的发言:[/bo]

我又遇到了一个新的问题,也不知道是什么原因?
我利用C语言生成了一个.exe文件,该文件的作用是:当该文件运行的时候,要去读取一个参数文件,然后通过读进来的参数运行程序。
可是我利用VB做的界面,点击按钮去执 ...


我说的路径问题不是指你的EXE文件路径问题,而是你EXE中调用参数文件时的路径,因为你双击打开一个EXE时,当前路径就是这个EXE文件所在的目录,而你用VB中的Shell调用时,默认的是VB程序所在目录。而这时如果你的被VB调用的C程序在打开文件时只是简单指明了文件名(没指定详细路径)的话那就有可能造成你的C程序打开文件时找不到文件。

VB QQ群:47715789
2008-09-22 12:25
fantasy_spz
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-8-21
得分:0 
谢谢楼上的指点,我发现了问题,跟楼上所说情况基本一致,非常感谢!
2008-09-22 15:18
fantasy_spz
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-8-21
得分:0 
Joforn兄弟说的非常对,请问如何能解决此类问题?一直没找到合适的处理方法。
2008-09-28 09:18



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-223523-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.811995 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved