2012-09-26 2 views
2

내가 인디 10 (TIdTcpServer)를 사용하고 누락 된 나는 다음과 같은 오류 얻을 :델파이 : 운영자 또는 세미콜론

[DCC Error] MainForm.pas(88): E2066 Missing operator or semicolon 

이 코드를 실행하려고 :

procedure TForm1.SendMessage(Data: String; Client: Integer); 
var 
    List: TList; 
    AContext: TIdContext; 
begin 
    List := idTcpServer1.Contexts.LockList; 
    AContext(List[0]).Connection.IOHandler.WriteLn(Data); // Line 88 
end; 

내가 알아낼 수 없습니다 무엇 내가 놓친 거지; 어떤 도움?

+0

코드를 포함하면 좋겠지 만 게시하지 않았기 때문에 어느 것이 88 번째 줄인지 알 수 있습니다. (그리고 80 번째 줄부터 그 줄까지 볼 수 있습니다.) –

+0

오 죄송합니다. 나는 그것을 의미했다. Line 88 : AContext (List [0]). 연결 .IOHandler.WriteLn (데이터); 다른 언급이 없습니다. 연결 코드 외에. – user1580845

+3

오류를 설명 할 수는 없지만 코드가 완전히 잘못되었습니다. 라인 88을 두 개의 새로운 라인으로 변경하십시오 :'AContext : = TIdContext (List [0]); AContext.Connection.IOHandler.WriteLn (데이터); ' 대신. –

답변

9

오류를 설명 할 수는 없지만 코드가 완전히 잘못되었습니다.

변경이에 :

procedure TForm1.SendMessage(Data: String; Client: Integer); 
var 
    List: TList; 
    AContext: TIdContext; 
begin 
    List := idTcpServer1.Contexts.LockList; 
    AContext := TIdContext(List[0]); 
    AContext.Connection.IOHandler.WriteLn(Data); 
end; 

비 형과 배역의 나쁜 사용하는 컴파일러를 혼동 될 수 있습니다. 그래도 해결되지 않으면 질문을 수정하여 게시 한 내용에 대한 코드를 추가하십시오 (게시 한 내용이 도움이 될만한 내용).

+0

FWIW 오류는 다음과 같습니다 :'AContext (List [0])'. 'AContext'는 변수이므로 세미콜론이나 연산자가 와야합니다. –