2009-08-19 23 views
8

Tôi gặp lỗi khi biên dịch tệp .pas.tuyên bố về phía trước hoặc bên ngoài không hài lòng

"unsatisfied forward or external declaration :TxxxException.CheckSchemeFinMethodDAException."

Có ai có ý kiến ​​gì về lỗi này không?

Có nghĩa là CheckSchemeFinMethodDAException không được gọi trong tất cả các tệp có liên quan?

Trả lời

19

Bạn đã khai báo phương thức này nhưng không triển khai phương pháp này.

+0

Cảm ơn bạn Uwe! Nó đã làm việc. – vas

+9

chỉ cần nhấn Ctrl + Shift + C để thêm phương thức vào phần triển khai –

3
unit Unit1; 

interface 

type 
    TMyClass = class 
    procedure DeclaredProcedure; 
    end; 

implementation 

end. 

Điều này mang lại lỗi bạn mô tả. Thủ tục DeclaredProceduređược tuyên bố (chữ ký) nhưng không được xác định (phần triển khai trống).

Bạn phải cung cấp triển khai cho quy trình.

1

bạn có thể đã quên đặt tên lớp trước tên hàm trong phần triển khai. ví dụ: mã sau sẽ sinh ra lỗi của bạn:

unit Unit1; 

interface 

type 
    TMyClass = class 
    function my_func(const text: string): string; 
    end; 

implementation 

function my_func(const text: string): string; 
begin 
    result := text; 
end; 

end. 

để khắc phục, chỉ cần thay đổi triển khai chức năng thành TMyClass.my_func(const text: string): string;.

Các vấn đề liên quan