oracle窗体中的计时器出现问题
我正在开发一个由oracle forms(6i)创建的应用程序。 我试着在我的一个表单中使用定时器,在测试过程中一切都很好,我将表单转移到生产环境中。 当我打开表单进入生产环境时,当我的表单被打开时,我试图访问另一个表单,但我遇到了这个问题。 不幸的是,我不知道为什么我的菜单不能正常工作,我的意思是当这个表单运行时,我的菜单会打开另一个表单 菜单和表格之间没有任何关系,请告诉我。在那些使用旧规范的系统中,应用程序的渲染也面临着问题。我的意思是我有一个带有菜单的主窗体,其中包含一个背景图片,系统闪烁以渲染该背景 我根据这篇文章创建了我的表格,它工作得很好 我将计时器长度从300更改为1000没有效果:( 我正在使用Oracle forms 6i,但我也可以转换为10g。我的Oracle server版本是9 我的计时器: 触发器WHEN-NEW-FORM-INSTANCEoracle窗体中的计时器出现问题,oracle,plsql,oracle10g,oracleforms,Oracle,Plsql,Oracle10g,Oracleforms,我正在开发一个由oracle forms(6i)创建的应用程序。 我试着在我的一个表单中使用定时器,在测试过程中一切都很好,我将表单转移到生产环境中。 当我打开表单进入生产环境时,当我的表单被打开时,我试图访问另一个表单,但我遇到了这个问题。 不幸的是,我不知道为什么我的菜单不能正常工作,我的意思是当这个表单运行时,我的菜单会打开另一个表单 菜单和表格之间没有任何关系,请告诉我。在那些使用旧规范的系统中,应用程序的渲染也面临着问题。我的意思是我有一个带有菜单的主窗体,其中包含一个背景图片,系统闪
DECLARE
timer_id timer;
BEGIN
timer_id := CREATE_TIMER('TIMER1',1000,REPEAT);
END;
计时器过期时触发
declare
timer_id timer;
nv_temp varchar2(400);
nv_temp_ch varchar2(2);
begin
IF length(:NB_VTB.NB_STATUS) > 4 THEN
nv_temp := substr(:NB_VTB.NB_STATUS,2,length(:NB_VTB.NB_STATUS));
IF(:parameter.TP_STR_LEN = 0 )THEN
nv_temp := nv_temp ||' ('||to_char(SYSDATE,'hh:mm:ss')||') ';
END IF;
nv_temp_ch := substr(:NB_VTB.NB_STATUS,1,1);
if (nv_temp_ch = ' ') then
nv_temp_ch := '`';
else
nv_temp := replace(nv_temp,'`',' ');
end if;
nv_temp := nv_temp || nv_temp_ch;
:NB_VTB.NB_STATUS := nv_temp;
:parameter.TP_STR_LEN := :parameter.TP_STR_LEN + 1;
IF :parameter.TP_STR_LEN > length(:NB_VTB.NB_STATUS)THEN
:parameter.TP_STR_LEN := 0;
:NB_VTB.NB_STATUS := FPG_FORM_STARTUP.ffn_get_status;
END IF;
END IF;
end;
试试这个,应该有用 PROCEDURE Delete_Timer IS tm_id TIMER; BEGIN tm_id:=Find_Timer('TIMER1'); IF NOT Id_Null(tm_id) THEN Delete_Timer(tm_id); ELSE Message('Timer '||' has already been cancelled.'); END IF; END; 删除计时器的过程是 tm_id定时器; 开始 tm_id:=Find_Timer('TIMER1'); 如果不是Id\u Null(tm\u Id),则 删除定时器(tm\u id); 其他的 消息(“计时器”| |“已被取消”); 如果结束; 结束;
我们需要停止计时器,但我不知道在不使用的情况下在哪里或如何找到我的表单,以及如何停止计时器