我正在用PowerBuilder一个大的项目,今天我踩到一个很奇怪的错误,我有一个窗口,它buttonclicked()
代码:窗口打开后尽量减少文件与GetOpenFileName
String ls_path, ls_nombre, ls_fuente, ls_currentD
int value
long ll_buf
if ib_query then return 1
//Guardar el directorio actual, debido a que la funcion GetFileOpenName lo cambia
ll_buf = 100
ls_currentD = space(ll_buf)
GetCurrentDirectoryA(ll_buf, ls_currentD)
CHOOSE CASE dwo.name
CASE "b_2"
If Object.path_1[row] = '' Or Isnull(Object.path_1[row]) Then
value = GetFileOpenName("Archivo", ls_fuente, ls_nombre, "*.*", "Archivos(*.*),*.*",ls_currentD,2)
Object.documento_path[row] = ls_nombre
Object.archivo[row] = ls_fuente
Else
ls_fuente = Object.path_1[row]
ShellExecute(0, "OPEN", ls_fuente, "", "", 0)
End if
CASE "b_3"
Choose Case wf_message("Aviso","¿Desea eliminar el archivo adjunto?, el acción será irreversible",4)
CASE 1
ls_path = Object.path_1[row]
If FileDelete (ls_path) Then
Object.path_1[row] = ""
Object.documento_path[row] = ""
event ue_guardar()
End IF
CASE 2
Return
End Choose
END CHOOSE
SetCurrentDirectoryA(ls_currentD)
当我点击在该按钮上,文件选择显示,我可以正常选择我的文件,但是,当我从文件对话框中按下“接受”按钮时,当前窗口最小化(在我的应用程序中,我们有一个窗口选择菜单,以便我可以恢复它)为什么会发生这种情况?我认为这是GetCurrentDirectoryA(ll_buf, ls_currentD)
,但这不是问题,我尝试对它进行评论,并仍然将窗口最小化。
GetCurrentDirectoryA
的定义是这样的:
FUNCTION ulong GetCurrentDirectoryA (ulong BufferLen, ref String currentdir) Library "Kernel32.dll" ALIAS FOR "GetCurrentDirectoryA;ansi"
希望你能帮助我,谢谢!
什么版本的PowerBuilder? –
版本12.5 Windows 7 –