[Error] datamodule.pas(44): Statement expected but 'PROCEDURE' found
[Fatal Error] suritem.pas(80): Could not compile used unit 'datamodule.pas'要调用的Data Moudle 的代码如下:(不知是否为下面代码问题)
unit datamodule;
interface
uses
  SysUtils, Classes, DB, ADODB;type
    TDataModule1 = class(TDataModule)
    ADOQuery1: TADOQuery;
    ADOConnection1: TADOConnection;
  private
    { Private declarations }
  public
     procedure getorgdataname(aStrings1,aStrings2,aStrings3 :TStrings);
    { Public declarations }
  end;var
  DataModule1: TDataModule1;implementation
{$R *.dfm}编译在这里就出错了,请问为啥呢?
procedure TDataModule1.getorgdataname(aStrings1,aStrings2,aStrings3 : TStrings);
//procedure TDataModule1.getorgdataname(aStrings1: TStrings);
var
    Vorgdataname ,tmp:string;
    i:integer;     //逗号位置 
begin
   try
    ADOQuery1.Close;
    ADOQuery1.SQL.Text:= 'select orgdata_defaultname  from instype' ;
    ADOQuery1.Open ;
    ADOQuery1.First ;
    Vorgdataname:= ADOQuery1.FieldByName('orgdata_defaultname').AsString;
    while (length(Vorgdataname) > 0) do
    begin
        i:=pos(',',Vorgdataname);
    if i >0  then
      begin
          tmp := copy(Vorgdataname,1,i-1) ;
          Vorgdataname:= copy(Vorgdataname,i+1,length(Vorgdataname)-i);
      end
       //如果没有找到逗号,取出剩余的字符,同时对orgdata_defaultname置空,来退出循环
      else
        begin
            tmp := Vorgdataname;
            Vorgdataname:= '' ;
        end   ;
        aStrings1.Add(Vorgdataname);
        aStrings2.Add(Vorgdataname);
        aStrings3.Add(Vorgdataname);
      end;
        ADOQuery1.Close;
    except
        raise;
    end;
  end;

解决方案 »

  1.   

    编译还没执行到procedure 里面,请问会有哪些可能的错误呢?
    procedure TDataModule1.getorgdataname(aStrings1,aStrings2,aStrings3 : TStrings);
      

  2.   

    检查上一个过程是否少了一个end
      

  3.   

    写代码时最好先写
    beginend
    然后再向中间加入代码!
      

  4.   

    再请问下下:)如果想把一个ComboBox作为参数传进过程里,怎么写呀
    本来是ComboBox.Items传进来的声明为TStrings类型的
    多谢谢!
      

  5.   

    请大家帮忙看看呀,如何传进不同的控件作为参数 如:ComboBox ~,~