2009-07-03 36 views
5

Sáng nay tôi cuối cùng đã quyết định và quyết định nhờ bạn giúp đỡ. Vấn đề là trong ứng dụng Delphi của tôi không có gợi ý được hiển thị ở tất cả ... Tôi đã đọc về vấn đề THintAction, tôi đã đọc hướng dẫn/hướng dẫn/hướng dẫn sử dụng, cố gắng gọi cửa sổ Hint (xử lý sự kiện bắn) bằng tay, nhưng không có gì làm việc. Họ chỉ không hiển thị. tôi đã chạy ra khỏi ý tưởng ...Windows và gợi ý trong Delphi

tôi đã cố gắng: thiết showhints mẹ vào các thành phần, các hình thức, từ xử lý sự kiện, activatehint ứng dụng() ...

Có cách nào khác để làm điều này (ngoại trừ các cuộc gọi API, tất nhiên)?

+2

Bạn có sử dụng bất kỳ thư viện không chuẩn nào không? Tôi đã gặp vấn đề tương tự một lần và hóa ra lại là thành phần của bên thứ ba chiếm quyền quản lý gợi ý. –

+0

Hmmm, có thể là, nhưng nó requieres một số nghiên cứu. Tôi sẽ nghĩ về nó! Cảm ơn cho tip ... –

Trả lời

5

Trước tiên, bạn sử dụng phiên bản Delphi nào? Thứ hai, tôi khuyên bạn nên thử tạo một ứng dụng đơn giản từ đầu, chỉ với một biểu mẫu và nói một nút công cụ (hoặc bất kỳ điều khiển nào khác có thể hiển thị gợi ý), với ShowHints được kích hoạt và xem nó có hiển thị hay không. Nếu trên một ứng dụng rất đơn giản, bạn sẽ không có gợi ý, tôi sẽ khuyên bạn nên cài đặt lại Delphi, có thể một cái gì đó trong quá trình cài đặt của bạn bị vặn ...

+0

Nop, như tôi đã thử trước - bất kỳ tài sản hoặc từ runetime và designtime doesnt gọi cửa sổ gợi ý .... Ngoài ra - Tôi đã có vấn đề này trước và cài đặt lại đã giúp, nhưng tôi thực sự muốn tránh nó. ... –

+1

Nếu ở mức đơn giản nhất bạn không thể hiển thị gợi ý, tôi sẽ đoán một cái gì đó thực sự hơi say với cài đặt hoặc môi trường của bạn. –

+0

Crap. Mh, ok, phải cài đặt lại ... có vẻ như giải pháp sẽ khá cứng và không đáng tin cậy,: ( –

1

Bạn đã thử thêm Application.ShowHint vào tệp dự án của mình chưa?

Các tập tin dự án sau đó sẽ giống như thế này

begin 
    Application.Initialize; 
    Application.ShowHint := True; 
    Application.CreateForm(TfrmMain, frmMain); 
    Application.Run; 
end. 
+0

Không hoạt động .. đã viết trước đây –

+1

Không cần phải thất vọng. Nếu tất cả những gì bạn đề cập đến là ứng dụng, không có cách nào để biết bạn đã thử những gì tôi đề nghị –

+0

Oh, sor ry, tôi không có nghĩa là nó thất vọng. Chỉ cần gợi ý lỗi này bắt đầu p ** s tôi ra một chút .... –

0

Một vài lời khuyên:

  • Kiểm tra nếu bạn hoặc một thành phần/đơn vị đã thiết lập một lớp tùy chỉnh gợi ý. Nếu có, hãy tìm thành phần/đơn vị đó và xóa nó.
  • Biên dịch ứng dụng của bạn với DCU gỡ lỗi và đặt điểm ngắt tại các vị trí thích hợp trong Forms.pas. Sau đó, một bước thông qua mã và xem những gì sẽ xảy ra.
+0

Hmmm, OK, tôi sẽ chụp. –

3

Tôi đặt cược bạn đang sử dụng XP và cài đặt của bạn khá cũ.

Một người bạn của tôi có vấn đề chính xác này trong máy của anh ấy. Không có gợi ý VCL nào xuất hiện trong máy của anh ta. Điều đó bao gồm các ứng dụng mà anh đã xây dựng, IDE Delphi anh đã sử dụng (7 afaicr) và bất kỳ ứng dụng được xây dựng Delphi nào khác mà anh có trên máy tính của mình. Vì vậy, chúng tôi đã kết luận bằng cách đổ lỗi cho trường hợp WinXP của anh ấy đã được chạy trong 2 năm qua với rất nhiều rác trong đó (rất có thể đó là một số ứng dụng mà anh ta cài đặt đôi khi đang hooking tin nhắn vào một thời điểm nào đó gây ra hành vi kỳ lạ này). Nó có thể là trường hợp của bạn là tốt.

ps. Một điểm thú vị khác - các gợi ý được hiển thị nếu bạn đặt Application.HintPause thành giá trị thấp như 100-200. Bạn có thể muốn thử điều đó.

+0

Vâng, nó hoạt động. Cuối cùng! Ngoài ra tôi muốn nói rằng nó có thể ong mesage hook/chặn với một nửa chậm trễ hoặc một chút ít hơn thứ hai :) Điều tôi có thể nhận thấy là đôi khi máy tính để bàn của tôi làm mới không ngừng với khoảng thứ hai khoảng thời gian khi tôi sử dụng SE PC Suite 5.0 với điện thoại của tôi khi viết mã. Ii có thể là một số dịch vụ đơn giản sử dụng một số thông điệp cụ thể khiến cửa sổ gợi ý bị "rút tiền" hoặc mô-đun thông báo bị khóa bởi dịch vụ .... Tôi bắt đầu nghĩ rằng chúng ta nên thực hiện một số báo cáo lỗi/phản hồi về điều này .. –

+0

Làm việc cũng cho tôi! Ứng dụng của tôi đang chạy trên nhiều máy nhưng chỉ một ứng dụng không hiển thị gợi ý. Thiết lập Application.HintPause để "100" cố định nó. Cảm ơn! – pbu

0

Được rồi - Như tôi đã nâng cấp gần đây lên phiên bản 2010 (14.x), cuối cùng tôi đã chắc chắn rằng vấn đề Gợi ý này là Lỗi trong IDE.

Chỉ giải pháp là: - thay đổi HintPause tài sản - cố gắng cài đặt lại IDE

1

Tôi vừa mới có vấn đề này trên Delphi-5, "thời gian chạy ứng dụng sẽ không hiển thị gợi ý về chuột di chuột ". Nó hoạt động tốt trên các ứng dụng khác của tôi.

Tôi đã lần theo dấu vết sau: Dự án | Tùy chọn | Trình biên dịch | Gỡ lỗi | Sử dụng DCU gỡ lỗi Điều này đã được chọn, bỏ chọn và biên dịch lại cho phép gợi ý của tôi.

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