2011-02-02 28 views
13

Gần đây tôi đã phải thực hiện một số thay đổi trong một số mã Delphi. Do đó, tôi có một số câu hỏi cơ bản:Làm cách nào để sử dụng OutputDebugString để in thư có trong biến chuỗi?

  1. Làm cách nào để xuất ra bàn điều khiển?
  2. Làm cách nào để xuất ra bàn điều khiển với fx, biến chuỗi?

Tôi bắt đầu sử dụng OutputDebugString, nhưng tôi không thể làm cho nó hoạt động với một biến.

+0

Khi bạn nói "đầu ra cho bảng điều khiển" là bạn thực sự đang phát triển một ứng dụng bảng điều khiển hay bạn muốn gỡ lỗi đầu ra được in? – Tony

+0

Ứng dụng của nó với GUI. Tôi chỉ muốn viết ra trong bản ghi sự kiện để gỡ lỗi biến như tôi đang sử dụng để trong fx. Java. –

+4

Xem thêm: http://stackoverflow.com/questions/4421042/how-can-i-write-to-console-window-for-debugging –

Trả lời

21

Bạn có thể viết hàm bao bọc để xử lý các biến được chuyển đến OutputDebugString như mong đợi PChar.

Cái gì như:

procedure DebugMsg(const Msg: String); 
begin 
    OutputDebugString(PChar(Msg)) 
end; 

Có một tài liệu tham khảo hữu ích cho các kỹ thuật here gỡ lỗi.

Và nếu Delphi của bạn là một chút gỉ có trang web hữu ích bao giờ Delphi Basics. Tôi sử dụng nó rất nhiều :)

+0

Điều này đã làm các trick. Cảm ơn bạn! –

0

Nếu bạn có ứng dụng bảng điều khiển, chỉ cần sử dụng các hàm toàn cục write() và writeln(). Nếu bạn có một ứng dụng GUI và muốn tạo một cửa sổ giao diện điều khiển riêng, mọi thứ trở nên phức tạp (this article sẽ hướng dẫn bạn qua quá trình này, mặc dù trong C++).

+0

Có thể kiểm tra "tạo ứng dụng bảng điều khiển" trong tùy chọn trình liên kết. –

+0

Cũng có thể chuyển hướng WriteLn để bạn có thể, ví dụ: sử dụng một hình thức với một lĩnh vực ghi nhớ trong nó để hiển thị bất cứ điều gì thông qua để Viết() hoặc WriteLn() –

3

Ngoài 2 câu trả lời bạn nhận được về OutputDebugString() và WriteLn(), để gỡ lỗi có giải pháp tốt hơn: CodeSite từ Phần mềm Raize (xem http://www.raize.com/DevTools/CodeSite/Default.asp).

Nếu bạn có Delphi XE, điều đó đã đi kèm với một phiên bản chức năng có phần giảm sút của CodeSite.

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