delphi编译出现Could not compile used unit ‘FunAndProc.pas’

[复制链接]
查看11 | 回复2 | 2010-12-8 12:39:35 | 显示全部楼层 |阅读模式
以下是单元的代码,我看不出哪里出错了啊。
unit FunAndProc;
interface
uses Windows, Classes, SysUtils;
const
DefPort = 5643;
KEY_Clt: array [1..4] of string =
('AskForFielsName',
'AskForFilesLength',
'AskForFilesData',
'WantToDisconnect');
KEY_Srv: array [1..2] of string =
('Return1',
'Return2');
FilesNameSepStr = '|';
FilesLengthSepStr = ',';
function StringToStringS(SepStr: String; S: String): TStrings;

function StringsToString(SepStr: String; StrS: TStrings;

GetFileName:Boolean = False): String;
function Get_ComputerName: string;
implementation
function StringToStringS(SepStr: String; S: String): TStrings;
var
P: Integer;
begin
Result := TStringList.Create ;
P := Pos(SepStr,S);
while P0 do
begin

Result.Add(Copy(S,1,P-1));

Delete(S,1,P-1+Length(SepStr)); //P-1是字符长度,Length(SepStr)是分隔字符长度

P := Pos(SepStr,S);
end;
Result.Add(s);
end;
function StringsToString(SepStr: String; StrS: TStrings;GetFileName:Boolean = False): String;
var
I: Integer;
begin
Result := '';
for I := 0 to StrS.Count -1 do
begin

if not(GetFileName) then

Result := Result + SepStr + StrS[I]

else

Result := Result + SepStr + ExtractFileName(StrS[I]);
end;
Delete(Result,1,1);
end;
function Get_ComputerName: string;
var
P_CName: PChar;
P_CSize: LongWord;
begin
P_CSize := MAX_COMPUTERNAME_LENGTH + 1;
GetMem(P_CName,P_CSize);
GetComputerName(P_CName,P_CSize);
Result := P_CName;
FreeMem(P_CName);
end;
end.
[Fatal Error] ServerThread.pas(35): Could not compile used unit 'FunAndProc.pas'
[Pascal Error] ServerDownLoad.pas(1): Unable to invoke Code Completion due to errors in source code

回复

使用道具 举报

千问 | 2010-12-8 12:39:35 | 显示全部楼层
单元名和文件名要求一致。如果使用funandproc,那么代码第一行应该是Unit funandproc;这个文件应保存为funandproc.pas而不是serverthread.pas总之要统一
回复

使用道具 举报

千问 | 2010-12-8 12:39:35 | 显示全部楼层
'FunAndProc.pas'这个单元文件内存在错误
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行