字符串delphi上未声明的标识符

时间:2016-04-08 08:44:16

标签: delphi delphi-7

我真的需要一些帮助,我迫切需要一个解决方案!

我有一个离线消息表单/单元。它不允许我编译。

以下是完整代码:

http://beyluxe.googlecode.com/svn/trunk/mine/OfflinesUnit.pas

我收到以下错误:

Build
  [Error] OfflinesUnit.pas(103): Undeclared identifier: 'LoadString'
  [Error] OfflinesUnit.pas(142): Undeclared identifier: 'LoadString'
  [Fatal Error] MainUnit.pas(480): Could not compile used unit 'OfflinesUnit.pas'

错误1:

procedure TOfflinesForm.FormShow(Sender: TObject);
var
  i: Integer;
  PMText: string;
begin
  for i := 0 to OfflineList.Count - 1 do
  begin
    OfflineListView.Items.Add;
    OfflineListView.Items.Caption := OfflineSenders.Strings;
    OfflineListView.Items.SubItems.Add(OfflineList.Strings);
    Viewer.LoadString(PChar(OfflineList.Objects), '', HTMLType);
    Viewer.SelectAll;
    PMText := Viewer.SelText;
    Viewer.SelLength := 0;
    Viewer.Clear;
    OfflineListView.Items.SubItems.Add(PMText);
  end;
end;

错误2:

procedure TOfflinesForm.SendTextToViewer(User, Text: string; UserColor: TColor);
var
  Str: string;
begin
  Str := '<B><font size=0 color=#' + IntToHeWebColor(BUDDYNICKCOLOR, 8) + '>' +
    User + ':</font></B> ';
  Str := Str + ReplaceSmilesText(' ' + Text);
  // Str := CorrectHTMLLinks(Str);
  Viewer.LoadString(Str, '', HTMLType);
  Viewer.VScrollBarPosition := Viewer.VScrollBar.Max;
  Viewer.Invalidate;
end;

1 个答案:

答案 0 :(得分:5)

错误消息足够清楚。无论Viewer是什么,它都没有名为LoadString的成员,或者它的成员名称为private

以下是documentation的错误:

  

编译器无法找到给定的标识符 - 很可能是在声明点或使用点拼写错误。它可能来自另一个未提及使用条款的单位。

您需要检查Viewer类型的类型声明,并找出在编译器另有说明时声明LoadString的原因。显然,我们无法回答这一点,因为我们没有所需的信息。你省略了这些细节。

但重点是您现在知道错误消息是什么,现在您将能够找出代码出错的原因。