This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | Next revision Both sides next revision | ||
tutorial:procedureandfunction [2019/01/04 21:15] admin [Forward Declaration] |
tutorial:procedureandfunction [2019/01/04 21:35] admin [Forward Declaration] |
||
---|---|---|---|
Line 201: | Line 201: | ||
รูปแบบการประกาศสำหรับ Program จะมีคำว่า forward ต่อท้ายดังนี้ | รูปแบบการประกาศสำหรับ Program จะมีคำว่า forward ต่อท้ายดังนี้ | ||
- | Procedure ProcedureName; forward; | + | Procedure DoSomething; forward; |
+ | |||
+ | สำหรับ Unit นั้น FPC บังคับให้ต้องมีการทำ forward declaration ทุกครั้งก่อนเสมอ เพราะ unit อื่นหรือ program ที่มีการ uses unit ดังกล่าวนั้น จะเข้าถึง Procedure/Function ได้เฉพาะส่วนที่เป็น interface เท่านั้น ไม่สามารถเข้าถึงส่วน implementation โดยตรงได้ ดังนั้นจึงต้องประกาศล่วงหน้าในตำแหน่งใต้คำว่า interface เสมอ โดยการประกาศจะไม่มีคำว่า forward ต่อท้ายเหมือนของ program อีก ดังตัวอย่างต่อไปนี้ | ||
+ | |||
+ | <sxh delphi;> | ||
+ | unit Unit1; | ||
+ | |||
+ | interface | ||
+ | //Forward declaration | ||
+ | procedure First; | ||
+ | procedure Second; | ||
+ | |||
+ | implementation | ||
+ | |||
+ | procedure First; | ||
+ | begin | ||
+ | writeln('Hello First'); | ||
+ | Second; | ||
+ | end; | ||
+ | |||
+ | procedure Second; | ||
+ | begin | ||
+ | writeln('Hello Second'); | ||
+ | end; | ||
+ | end. | ||
+ | </sxh> \\ | ||