FastReport的getvalue事件中的代码为何不执行呢?
如下
procedure TForm1.frxReport1GetValue(const VarName: String;
  var Value: Variant);
begin
  showmessage('asd');
  if varname='short' then
  begin
    value:=trim(edtShort.Text);
  end;
end;

解决方案 »

  1.   

    在frx文件里设计了一个memo,并为其添加了[short]内容。
    但不知为何不执行GetValue事件里的代码。
      

  2.   

    1.你必须定义一个名字为short的变量
      

  3.   

    procedure TFrmTableMain.frxReport1GetValue(const VarName: String;
      var Value: Variant);
    begin
      if VarName='sDep' then
        Value:=VarToStr('..大学');
      if VarName='sUser' then
        Value:=VarToStr(frmMain.lbloperatorName.Caption);
    end;
      

  4.   

    to rouqing:
    你的贴出的代码跟我的代码没什么区别啊
      

  5.   

    short你换个名字吧,比如strNewShort,再看看
      

  6.   

    Delphi6+FastReport 3.03 memo的内容为 [short]
    ...
    if VarName='short' then
        value:=Application.ExeName;我这里没问题啊
      

  7.   

    奇怪了,我这里根本就不执行GetValue事件中的任何代码。
      

  8.   


    if VarName='TEST' then 
        value:=Application.ExeName;
      

  9.   

    加断点不起作用,因为程序根本就不进入GetValue事件。
      

  10.   

    朋友不是在MEMO中添加SHORT,而在在VARTREE(变量浏览树)哪里ADD一个SHORT变量进去,将变量放在报表你想要的地方,这样你的GET方法才找得到。
      

  11.   

    这种用法,我一般是在Tiltle里面,加一个memo,里面填上[MyVar],然后外面通过
    report的getvalue方式传值,没出过问题
    如果是裸放的就不清楚了建议参考17楼的意见