Nếu tôi đang cố gọi thủ tục có loại bản ghi (không phải đối tượng) làm tham số, có thể bằng cách nào đó chuyển chi tiết của tham số đó "nội tuyến" mà không phải khai báo một biến kiểu đó trước?Truyền tham số bản ghi mà không khai báo nó trước tiên dưới dạng biến
ví dụ giả sử tôi có loại này đơn giản kỷ lục:
type TMyRecord = record
AString: string;
AnInt: Integer;
end;
và khai thủ tục này:
procedure MyProcedure(Rec: TMyRecord);
Nếu tôi muốn gọi MyProcedure làm tôi phải khai báo một biến kiểu TMyRecord hoặc có thể Tôi làm điều gì đó như:
MyProcedure(TMyRecord("Test", 10));
Điều đó không hoạt động (XE2) (gặp lỗi trình biên dịch về nó cũ pecting a ")").
Vì vậy, tôi có thể làm điều gì đó như thế không? Hoặc không thể.
Cảm ơn
Cuộc chiến đang diễn ra bên dưới. Tôi nghĩ rằng câu trả lời lý tưởng sẽ là "Không có cú pháp để tạo một bản ghi tùy ý 'nội tuyến', nhưng * cho bất kỳ bản ghi nào *, bạn có thể đạt được mức độ tiện lợi như nhau bằng [câu trả lời của Brian sau]" –