Newsgroup: it.comp.programmare.win32
Titolo: VARIANT VT_DATE di ritorno da un metodo COM

Ho creato una DLLCOM con VC++ 6.0 e ATL. Il mio problema:
devo ritornare un valore VARIANT VT_DATE da un metodo e il
valore è contenuto in una variabile time_t....non riesco a 
capire come convertire questo time_t (i millisecondi a
partire dal 171/1970 se non erro) in un VARIANT....
qualcuno può aiutarmi?

 
Per cominciare devi convertire il tuo time_t in un FILETIME (che 
rappresenta le date con interi a 64 che rappresentano intervalli di 
100 nanosecondi a partire dal 1 gennaio 1601) giusto per evitarti il 
calcolo:
//il 1/1/1970 espresso come filetime
const ULARGE_INTEGER firstofjan1970={ 0xd53e8000, 0x019db1de };
Fatto ciņ puoi passare il FILETIME (puoi castare liberamente con una 
ULARGE_INTEGER, visto che trattasi di interi a 64bit) in un SYTEMTIME 
usando FileTimeToSystemTime e infine convertire il tutto in un double 
(data in formato OLE) con SystemTimeToVariantTime.
-- 
Valter Minute
min...@inwind.it
 (the reply address of this message is invalid)

 Fatto ciò puoi passare il FILETIME (puoi castare liberamente con una


 ed ha sempre funzionato, evidentemente DATE è diverso da VT_DATE.
E' la stessa cosa!
Io ho fatto le conversioni passando per le API perchè sono un pigro 
cronico e una ciofeca in matematica :) 
Sono talmente pigro da aver preso un pezzo da un programma che passa da 
time_t a FILETIME (per scompattare i tar) e un altro da un programma che 
legge dei SYSTEMTIME e li ritorna tramite COM... e talmente ciofeca in 
matematica da aver perso un paio d'ore prima di trovare il numero di zeri 
del fattore di conversione tra millisecondi e decimi di microsecondo.


 Io ho fatto le conversioni passando per le API perchč sono un pigro


 e penna. 
Questa me la segno...
N.b. A proposito di pigrizia e carta e penna (seppur virtuali), quando 
rispondi a un messaggio, evita di riportare tutto il testo del messaggio 
originale e, se devi riportarne dei passaggi, mettili _prima_ dei tuoi 
commenti. (
http://www.uwasa.fi/~ts/http/quote.html
)


 commenti. (
http://www.uwasa.fi/~ts/http/quote.html
)
N.b. è terribilmente fastidioso ricevere di questi appunti da parte di altri
partecipanti al newsgroup, ma oggi sono di buon umore, lo prenderò come un
utile suggerimento.

 ma oggi sono di buon umore, lo prenderň come un utile suggerimento.
Che tu sia di buon umore o meno, e' assolutamente
irrilevante.  Impara a rispettare le regole e nessuna avra'
di che appuntare.
-- 
Andrea Laforgia (
walkie...@libero.it
)
"Usenet is a strange place" [Dennis Ritchie]

Non ha senso continuare a parlarne, credo sia un NG che riguardi Windows.
Ad ogni modo sono abbastanza vecchio da saper decidere da solo quali regole
rispettare.
Si dice che la peggior forma di maleducazione sia farne notare la mancanza.

 Non ha senso continuare a parlarne, credo sia un NG che riguardi Windows.
No, no, parliamone pure.
Sappi che se qui dentro se c'e' un maleducato, sei tu.
Riguarda il modo in cui hai quotato i messaggi per rendertene
conto.  Ribattere dicendo: "io seguo le regole che mi pare" non
e' da persone intelligenti.
Se vuoi stare nel gruppo, segui le regole, altrimenti ti 
sorbisci i richiami.  La tua vecchiaia non ti da' alcun diritto 
rispetto agli altri: rispetta le regole come le rispettano tutti.
E qui ci metto il punto.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 E qui ci metto il punto.
Comunque, un consiglio per la vita, non prendiamoci troppo sul serio.

 
Non mi sembra che l'età sia un parametro in base a cui variano le 
regole da rispettare (in caso sarò molto più attento quando mi 
avvicinerò a una vecchina, non vorrei mi stendesse a colpi di 44 
magnum, tipo romanzo di Pennac...) e in una comunità civile (come è 
quella di usenet) ci si dovrebbe impegnare a rispettare tutte le 
regole.
Limitare il quoting è segno di rispetto nei confronti di chi legge il 
newsgroup scaricando i messaggi con un modem e/o a sue spese e che 
rischia di dover abbandonare uno strumento IMHO utilissimo per gli 
abusi di chi non è sottoposto a questi vincoli.
Il mio P.S. voleva essere un richiamo discreto ed educato, mi scuso 
se il mio intento è stato frainteso generando questa discussione.
Mi sono sentito in dovere di farti un appunto perchè non ricordavo 
tuoi messaggi precedenti su questo ng e ho pensato tu fossi un newbie 
(l'eta e il sesso sono cose che su internet si possono nascondere 
piuttosto bene...).
Mi spiace che tu abbia preso il mio appunto come un'offesa personale 
e ti garantisco che non era certo quello il mio intento (e mi riscuso 
se ho dato questa impressione). 
Non è la prima volta che faccio notare a qualcuno il quote eccessivo 
o messaggi off-topic e, nonostante tutto, credo non sarà l'ultima.


 Comunque, un consiglio per la vita, non prendiamoci troppo sul serio.
Qualcuno ti ha mai detto come si quota su USENET? O non sai neanche di 
che parlo?
-- 
Luc.

e' da persone intelligenti.
Aggiungo che alcuni abuse per una frase simile ti "sgridano" e se
continui ti segano l'account.
-- 
Marco Barisione (ICQ 84277092)

 se ho dato questa impressione).
Devo essere proprio stupido per essermela presa, per cui sono io a scusarmi.