Newsgroup: it.comp.appl.access
Titolo: API mciSendString

Buona serata a tutti,
sto testando questa API che consente di aprire e chiudere lo sportellino del
CD-ROM.
Cosa succede ?
che il DB di pianta sia con A03, richiedendomi di inviare l'errore alla MS,
che con il A00.
Se avete voglia di fare un test e verificare il BUG, ve ne sono grato.
Grazie per l'attezione ed ecco il codice, prelevato da un sito, non ricordo
quale :
Option Compare Database
Private Declare Function mciSendString Lib "winmm.dll" Alias _
"mciSendStringA" (ByVal lpstrCommand As String, ByVal _
lpstrReturnString As String, ByVal uReturnLength As Long, _
ByVal hwndCallback As Long) As Long
Private Sub Comando0_Click()
retvalue = mciSendString("set CDAudio door open", _
returnstring, 127, 0)
End Sub
Private Sub Comando0_DblClick(Cancel As Integer)
retvalue = mciSendString("set CDAudio door closed", _
returnstring, 127, 0)
End Sub
Buona serata a tutti.
Sandro

[CUT]
Option Compare Database
Private Declare Function mciSendString Lib "winmm.dll" Alias _
"mciSendStringA" (ByVal lpstrCommand As String, ByVal _
lpstrReturnString As String, ByVal uReturnLength As Long, _
ByVal hwndCallback As Long) As Long
Private Sub cmdApri_Click()
    Call mciSendString("Set CDAudio Door Open Wait", 0&, 0&, 0&)
End Sub
Private Sub cmdChiudi_Click()
      Call mciSendString("Set CDAudio Door Closed Wait", 0&, 0&, 0&)
End Sub
Ciao
Gaspare 

Sandro perchè non usi Option Explicit....?
Ho letto l'SDK ma non mi pare ci sia molto da dire:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_mcisendstring.asp
Nella tua chiamata c'è parecchio che non và:
1) returnstring deve essere un Buffer
    Dim returnstring as String*255
2) 127 che significa hai messo il numero al Lotto...?
    Questo dato è la lunghezza del Buffer della stringa
    precedente se non Nulla.
    quindi al limite andava 255 con la mia correzione.
L'Ultimo parametro è l'abilitazione al CallBack per la notifica,
lascia perdere questo è da gestire con WindowProc ed intercettare
il Notify.
Riassumendo:
mciSendString("open cdaudio alias cd1", 0&, 0, 0)
Prova così da me non si pianta, ma non funziona nemmeno...!
Il fatto che si pianta è dovuto al tipo di Esecuzione asincrona,
pertanto
cerca di eseguirla e solo al limite del TimeOut dovrebbe ritornare.
Non saprei aiutarti maggiormente per fallito funzionamento.
Ciao
@Alex

[CUT]
Ciao Alex,
io stacco che sono cotto di "caldo"  e nel cervello!
Buona serata a te e famiglia :-)

 [cut]
Ciao @Alex,
ma come l'ho prelevata da una tua demo !!!! :-).
Scherzi a parte ho appena iniziato a fare qualche esperimento con le API,
quindi credo che tu possa capire le difficoltà che si incontrano, visto che
le conosci decisamente bene.
Cerco di documentarmi con MSDN, ma capisco molto poco (ma vedrò di
approfondire un po' alla volta) e quando parli di WindowProc, esecuzione
asincrona,Call back e TIME OUT capisco ancora meno, da qui l'esigenze di
postare questa mia empasse.
Purtroppo ho provato a fare una ricerca per postare il link da cui ho tratto
quel codice, ma non l'ho trovato,(era un sito quotato, domani riprovo) e per
oggi dico stop.
Ho comunque risolto con la soluzione proposta da Gaspare.
Il lotto ? non sono molto fortunato, ma ci penserò :-)
Ciao, grazie, notte.

 ha scritto nel messaggio
news:7yKme.1466563$35.54...@news4.tin.it...

ooops in extermis ecco il link :
http://www.mentalis.org/tips/tip026.shtml

 ha scritto nel messaggio
news:KAKme.1466574$35.54...@news4.tin.it...

intendevo ... extremis, scusa.
ps. notte per davvero stavolta.

 Ciao, grazie, notte.
La conoscenza di come lavorano le API è decisamente complessa,
ma complessi sono i riferimenti iniziali che spesso su SDK aiutano solo
a perdersi.
Poi quando si inizia a capire un pò di più si apprezza SDK.
Io devo ancora arrivarci...!
P.S. da me non funziona in nessun modo.
Ciao
--
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.mantuanet.it/alessandro.baraldi/
---------------------------------------------------------------------------

Dai un'occhiata a questo Demo nel mio sito:
Sezione GENERAL
1.34 Classi ed Eventi Public di Classi
;-)
