Tôi mới trong bối cảnh lập trình Delphi và tôi gặp sự cố khi gọi thủ tục trong quy trình trong ứng dụng bảng điều khiển của mình.Cách sửa tham chiếu vòng tròn thủ tục?
Ứng dụng đơn giản của tôi là dành cho khoảng không quảng cáo mục chạy qua máy chủ telnet trên cửa sổ. Tôi đang sử dụng một thinkpad cũ như Linux chạy trên máy tính của mình và một máy khách telnet.
Sử dụng Delphi XE Tôi đã gặp phải tình trạng gà hoặc trứng.
Tôi nhận được màn hình cảm ứng không khai báo thêm màn hình ... nó được khai báo nhưng dưới màn hình chính !!! Nếu tôi đặt thủ tục addscreen trên màn hình chính, bất kỳ cuộc gọi đến màn hình chính nào trong quy trình thêm màn hình đều làm cho tôi một lỗi không được khai báo màn hình chính thụt lề!
Trong thuật ngữ đơn giản, làm cách nào để thực hiện quy trình gọi ở mọi nơi trong chương trình?
Tôi đã thử giao diện và triển khai nhưng không hợp lệ trong chương trình ứng dụng bảng điều khiển!
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils, windows, messages, Console in 'Console.pas';
procedure mainscreen;
var
choice: string;
begin
clrscr;
writeln(' ------------------------------------------------------------------------------------------------------------------------------');
writeln(' | Inventory Management 0.1 ALPHA |');
writeln(' ------------------------------------------------------------------------------------------------------------------------------');
writeln('');
writeln('');
writeln('');
writeln('');
writeln('');
writeln(' Make a choice: Add(a), Remove(r), Edit(e), Backup Database(bd), Mass Add(ma), Mass Remove(mr)');
writeln('?:');
readln(choice);
if choice = 'a' then
addscreen
else
mainscreen;
end;
procedure addscreen;
var
choice: string;
begin
clrscr;
writeln(' ------------------------------------------------------------------------------------------------------------------------------');
writeln(' | Add an Item |');
writeln(' ------------------------------------------------------------------------------------------------------------------------------');
writeln('');
writeln('');
writeln('');
writeln(' Not yet ready!');
writeln(' Press any key to return to the main menu...');
readln(choice);
mainscreen;
end;
begin
mainscreen;
textbackground(black);
textcolor(lightgray);
ExitProcess(0);
end.
Cảm ơn bạn rất nhiều!
Bạn nên di chuyển mã 'màn hình chính' vào chương trình 'chính' và di chuyển các câu lệnh khác vào vòng lặp 'lặp lại'. –