Alias




' Ecco due dichiarazioni dell'API WinHelp


Private Declare Function WinHelp Lib "user32" _
Alias "WinHelpA" (ByVal hwnd As Long, ByVal lpHelpFile _
As String, ByVal wCommand As Long, ByVal dwData _
As Long) As Long
Private Declare Function WinHelpSearch Lib "user32" Alias _
"WinHelpA" (ByVal hwnd As Long, ByVal lpHelpFile As _
String, ByVal wCommand As Long, ByVal dwData As String) _
As Long

' Ecco le costanti di cui c'e' bisogno


Private Const HELP_PARTIALKEY = &H105&
Private Const HELP_HELPONHELP = &H4
Private Const HelpFile = _
"c:\program\files\devstudio\vb5\help\vb5.hlp"

'Ora aggiungi due pulsanti nel tuo form

'(cmdHelpAbout e cmdHelpSearch) ed inserisci il seguente

'codice nelle loro relative Sub Click. Controlla che la

'directory del file di help corrisponda con la tua

'installazione di Visual Basic.


Private Sub cmdHelpAbout_Click()
'

'

WinHelp Me.hwnd, HelpFile, HELP_HELPONHELP, &H0
'

'

End Sub

Private Sub cmdHelpSearch_Click()
'

'

WinHelpSearch Me.hwnd, HelpFile, HELP_PARTIALKEY, _
"option"
'

'

End Sub

'Manda in esecuzione il tuo progetto e, quando premi sul

'pulsante HelpAbout vedrai comparire l'help contestuale

'(che utilizza l'help di sistema). Se premi sul pulsante

'HelpSearch vedrai comparire una lista di voci

'sull'argomento "option".


ZD Tips © 1998 by Mauro Rossi Alcune API di Windows hanno parametri che possono essere di
diversi tipi. Ad esempio, l'API WinHelp puo' accettare
l'ultimo parametro come tipo Long o Stringa a seconda della
richiesta che deve soddisfare.

Visual Basic permette di dichiarare questo tipo di dati
come tipo Any nella chiamata API, ma questo puo' portare ad
errori di tipo oppure anche a crash del sistema se il
valore non e' quello giusto.

È possibile prevenire gli errori e migliorare il controllo
di tipi a run-time dichiarando piu' versioni della stessa
funzione API nel programma.

Aggiungendo una dichiarazione di funzione per ogni tipo
possibile per un parametro, e' possibile continuare a fare
uso di un potente controllo di tipi.

Per capire come mettere in pratica la soluzione sopra
descritta, aggiungi le seguenti funzioni e costanti API in
un form di Visual Basic.

Nota che le due dichiarazioni di API differiscono solamente
per il loro nome iniziale ("WinHelp" e "WinHelpSearch") e
nella dichiarazione del tipo dell'ultimo parametro
("dwData as Long" e "dwData as String").










( alias.html )- by Paolo Puglisi - Modifica del 17/12/2023