Newsgroup: it.comp.lang.visual-basic
Titolo: [VB6] proprieta nativa o api

Ho scaricato qualche esempio di usercontrol da vbaccelerator ed ho 
notato che loro usano sempre le Api.
Per esempio per cambiare il colore del font usano sempre SetTextColor e 
mai forecolor. Perchè?
Le funzioni api sono più veloci o cosa?
 
Carmelo

 ha scritto nel messaggio
news:53286740$0$1353$
4faf...@reader1.news.tin.it
 

Partendo dal presupposto che se hai il problema delle velocità VB te lo 
devi scordare, l'uso di proprietà o API è più che altro una faccenda di 
abitudine, legata anche al fatto di usare linguaggi diversi che hanno 
comunque in comune l'utilizzo delle API.
 
Ad esempio preferisco usare poco le OCX quindi in molti casi, specie con 
quelle di sistema tipo commondialog, MCI o WINSOCK, preferisco usare uno 
usercontrol che fa uso di API piuttosto che incorporare la OCX. Ma per 
il forecolor non mi sono mai posto il problema...
 
Credo che, a parte fattori quali eleganza o figheria, alla fine il 
risultato si assolutamente lo stesso.
 
-- 
-> G.Chiappori
www.chiappori.it
 
www.chiappori.com
 
 
 

 ha scritto nel messaggio news:53286740$0$1353$4faf...@reader1.news.tin.it...

Il vantaggio e' molto semplice, non hai bisogno di portarti dietro
gli OCX corrispondenti, perche' al posto loro ci sono le
funzioni equivalenti delle Api.
 
-- 
blog su google: 
http://salclem.blogspot.it/
 
blog su altervista: 
http://salclem2.altervista.org/blog
 
sito su altervista: 
http://salclem2.altervista.org/
 
 

Carmelo ha scritto...

Le API in congiunzione con determinati metodi di programmazione permettono a 
un linguaggio come VB6 una velocità non indifferente, specialmente in 
ambiente grafico, dove le funzioni di sistema risultano parecchio lente!
 
Poca gente qui è in grado di fare qualcosa che solo minimamente si avvicini 
a quello che propone vbAccellerator, se vuoi imparare qualcosa sei capitato 
nel sito giusto, ci sono ottimi sorgenti! 
 

 ha
scritto:

Si, le API sono in genere più veloci, anche se in casi come il SetTextColor la
differenza è trascurabile.
 
Come ti hanno già detto i programmi vengono più compatti e non si devono
allegare grossi OCX, io ad esempio uso un modulo che si chiama Commondialogs.bas
al posto del corrispondente ocx, ed è più compatto e personalizzabile.
 
Ma c'è un altro grosso argomento a favore dell'uso delle API, imho.
 
La gestione degli errori in VB porta il programma a finire con il classico
messaggio di errore, a meno di usare  On Error Gogo e i vari Resume, cose che
rallentano l'esecuzione e che io preferisco avere solo all'interno di routines
particolari.
 
Con le API normalmente si ha un valore restituito che dice se l'API ha fatto
quello che ci si attende o meno, poi sta al programmatore decidere come usare il
valore ritornato, ma non c'è niente che ti sbatte fuori. (a meno che non si
inchiodi tutto, ma sono casi particolari che succedono solo quando si fanno cose
un po' al limite)
 
Se sei interessato c'è un programma che permette di vedere le funzioni di
tantissime API con esempi e dichiarazioni, lo trovi qui:
 
http://allapi.mentalis.org/agnet/apiguide.shtml
 
 
e sullo stesso sito trovi molta altra documentazione sull'argomento
 
--
ciao
  Stefano

"Carmelo" ha scritto

Giusto un tantino. Buona parte delle volte
le funzioni grafiche dei controlli sono dei
semplici wrapper per le chiamate API; facendo
direttamente queste si guadagna qualcosa...
ma coi computer di oggi la differenza sarà
forse nell'ordine dei microsecondi.
 
Bye, G.