procedure AddAllIcoInFile(pFilePath:string;img1:timagelist);
    var
    i:integer;j:integer;
    pOleVariant:OleVariant;
    pFolderCount:integer;pFileCount:integer;
    pFileSystemObject:tFileSystemObject; pDrive:idrive;
    pFolder:iFolder;  pFoldercollection:Folders;pLoopFolder:iFolder ;
    pFile:iFile;    pFileCollection:ifilecollection;
    begin        pFileSystemObject:=tFileSystemObject.Create(nil)  ;
        pFolder:=pFileSystemObject.DefaultInterface.GetFolder(pFilePath) ;
        pFoldercollection:=pFolder.SubFolders ;
        pFileCollection:=pFolder.Files ;
        pFolderCount:= pFoldercollection.Count;
        pFileCount:=pFolder.Files.Count ;
        i:=0;
        pOleVariant:= pFileCollection.Count-1 ;
        try    
        pLoopFolder:= pFoldercollection.Item
        pFile:=CoFile_.Create  ;
        pFile :=pFileCollection.Item[polevariant];//为什么总是在这个地方提示参数不真确啊?我调试过了 polevariant和pFileCollection.count都有值,而且正确;请问怎么填写这个参数啊?
        showmessage(pfile.Name ) ;
        except
        messagebox(0,'参数错误!!!','错误提示:',MB_YESNO +MB_ICONEXCLAMATION);
        msgstring:='';
        end;
         exit;
        while i<pFolderCount do
              begin
                 if i=0 then  msgstring:=( '文件夹共有:'+ inttostr(pFolderCount)+'个' );
                 if msgstring='' then msgString:='           '+pFoldercollection.Item[i].Name
                 else msgstring:=msgstring+#13+ '          '+pFoldercollection.Item[i].Name;
                 i:=i+1;
              end;
    end;

解决方案 »

  1.   

    pFileCollection是什么类型啊?你出示的类型可不是标准的Delphi Vcl类啊,使用了第三方的包了?
    多测试一下,应该是整型或者字符串类型.
      

  2.   

    首先感谢楼上朋友的帮忙,麻烦再请帮忙看看
    pFileCollection 是 iFileCollection;这是个文件集合接口;这个Dll好像是WINDOWS系统自带的库吧;再VB里是很好用的;我现在把它翻译打DEPHI里不知道这个地方应该怎么填?我试过了直接填一个数字不行;最郁闷的是我测试时候 pFileCollection.count还有值,而且正确;???
      

  3.   

    上面用到的全是这个库里面的  Scripting_TLB.dll