oracle窗体中的计时器出现问题

oracle窗体中的计时器出现问题,oracle,plsql,oracle10g,oracleforms,Oracle,Plsql,Oracle10g,Oracleforms,我正在开发一个由oracle forms(6i)创建的应用程序。 我试着在我的一个表单中使用定时器,在测试过程中一切都很好,我将表单转移到生产环境中。 当我打开表单进入生产环境时,当我的表单被打开时,我试图访问另一个表单,但我遇到了这个问题。 不幸的是,我不知道为什么我的菜单不能正常工作,我的意思是当这个表单运行时,我的菜单会打开另一个表单 菜单和表格之间没有任何关系,请告诉我。在那些使用旧规范的系统中,应用程序的渲染也面临着问题。我的意思是我有一个带有菜单的主窗体,其中包含一个背景图片,系统闪

我正在开发一个由oracle forms(6i)创建的应用程序。 我试着在我的一个表单中使用定时器,在测试过程中一切都很好,我将表单转移到生产环境中。 当我打开表单进入生产环境时,当我的表单被打开时,我试图访问另一个表单,但我遇到了这个问题。 不幸的是,我不知道为什么我的菜单不能正常工作,我的意思是当这个表单运行时,我的菜单会打开另一个表单

菜单和表格之间没有任何关系,请告诉我。在那些使用旧规范的系统中,应用程序的渲染也面临着问题。我的意思是我有一个带有菜单的主窗体,其中包含一个背景图片,系统闪烁以渲染该背景

我根据这篇文章创建了我的表格,它工作得很好

我将计时器长度从300更改为1000没有效果:(

我正在使用Oracle forms 6i,但我也可以转换为10g。我的Oracle server版本是9

我的计时器:

触发器WHEN-NEW-FORM-INSTANCE

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); 其他的 消息(“计时器”| |“已被取消”); 如果结束; 结束;
我们需要停止计时器,但我不知道在不使用的情况下在哪里或如何找到我的表单,以及如何停止计时器