2009-07-03 14 views
5

Questa mattina finalmente mi sono messo in testa e ho deciso di chiederti aiuto. Il problema è che nella mia applicazione Delphi non vengono mostrati suggerimenti ... Ho letto sul problema THintAction, ho letto guide/tutorial/manuali, ho provato a richiamare manualmente le finestre Hint (attivando i gestori di eventi), ma non ha funzionato. Non mostrano semplicemente. ho esaurito le idee ...Windows e suggerimenti in Delphi

ho cercato di: impostazione showhints genitore su componenti, moduli, da gestori di eventi, activatehint applicazione() ...

c'è qualche altro modo per fare questo (eccetto le chiamate API, ovviamente)?

+2

Usi delle librerie non standard? Ho avuto lo stesso problema una volta e si è rivelato essere un componente di terze parti che ha dirottato la gestione dei suggerimenti. –

+0

Hmmm, potrebbe essere, ma Richiede qualche ricerca. Ci penserò! Grazie per il suggerimento ... –

risposta

5

In primo luogo, quale versione di Delphi usi?

Secondo, ti consiglio di provare a creare una semplice applicazione da zero, con un solo modulo e pronunciare un pulsante degli strumenti (o qualsiasi altro controllo che può mostrare suggerimenti), con ShowHints attivato e vedere se viene visualizzato. Se su un'applicazione così semplice non otterrai alcun suggerimento, ti consiglio di reinstallare Delphi, forse qualcosa nella tua installazione è rovinato ...

+0

Nop, come ho già provato prima - qualsiasi proprietà sia da runtime che designtime non richiama la finestra di suggerimento .... Inoltre - ho avuto questo problema prima e la reinstallazione mi è stata d'aiuto, ma voglio davvero evitarlo. ... –

+1

Se al livello più semplice non si riescono a mostrare suggerimenti, suppongo che qualcosa sia veramente rovinato dall'installazione o dall'ambiente. –

+0

Merda. Mh, ok, devo reinstallare ... sembra che la soluzione sia abbastanza hardcoded e inaffidabile, :( –

1

Hai provato ad aggiungere Application.ShowHint al tuo file di progetto?

Il file di progetto sarebbe quindi simile a questa

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

Non funziona ... come scritto prima. –

+1

Non c'è bisogno di sentirsi frustrati. Se tutto quello che dici è applicazione, non c'è modo di sapere che hai provato quello che ho suggerito –

+0

Oh, sor ry, non volevo dire che fosse frustrante. Solo questo suggerimento mi sta cominciando a scacciare un po '... –

0

Alcuni consigli:

  • Controllare se voi o un altro componente/unità ha impostato una classe suggerimento personalizzato. In tal caso, trova quel componente/unità e rimuovilo.
  • Compilare la domanda con DCU di debug e inserire i punti di interruzione nelle posizioni appropriate in Forms.pas. Quindi fai un solo passo nel codice e guarda cosa succede.
+0

Hmmm, OK, farò un tentativo. –

3

Scommetto che sei su XP e l'installazione è piuttosto vecchio.

Un mio amico ha avuto questo problema esatto nella sua macchina. Nessun suggerimento VCL appariva nella sua macchina. Ciò include le app da lui costruite, l'IDE Delphi che ha usato (7 afaicr) e qualsiasi altra app costruita da Delphi sulla sua macchina. Così abbiamo concluso incolpando la sua istanza WinXP che è stata in fuga negli ultimi 2 anni con un sacco di spazzatura in esso (molto probabilmente è stata qualche app che ha installato a un certo punto che stava agganciare i messaggi a un certo punto causando questo comportamento strano). Potrebbe essere anche il tuo caso.

ps. Un altro punto interessante: i suggerimenti venivano visualizzati se si imposta Application.HintPause su un valore basso come 100-200. Potresti volerlo provare anche tu.

+0

Sì, ha funzionato. Finalmente! Vorrei anche segnalare che potrebbe essere un messaggio di intercettazione/intercettazione con ritardo di mezzo secondo o un po 'meno di secondo :) La cosa che potrei notare è che a volte il mio desktop si è aggiornato senza interruzioni con circa un secondo intervallo quando ho usato SE PC Suite 5.0 con il mio telefono durante la scrittura del codice. Ii è possibile che alcuni servizi utilizzino semplicemente alcuni messaggi specifici che fanno sì che hint windows sia "owerdrawn" o che il modulo di notifica sia bloccato dal servizio .... Sto iniziando a pensare che dovremmo fare qualche segnalazione di bug/feedback su questo .. –

+0

ha funzionato anche per me! La mia app era in esecuzione su molte macchine, ma solo una non mostrava il suggerimento. Impostando Application.HintPause su "100" è stato risolto. Grazie! – pbu

0

Va bene - Come ho recentemente aggiornato alla versione 2010 (14.x), ho finalmente era sicuro che questo problema è Hint Bug nell'IDE.

solo soluzioni è: - modificare la HintPause proprietà - provate a reinstallare IDE

1

Ho appena avuto questo problema su Delphi-5, "run-time applicazione non visualizzare i suggerimenti sul mouse-hover ". Funziona bene con le altre mie applicazioni.

ho rintracciato al seguente: Progetto | Opzioni | Compiler | debug | Debug Usa DCU è stata controllata, deselezionando e ri-compilazione consente i miei suggerimenti.