begin process at 2012 02 10 07:24:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Fichier / Disque

 > 

Avis des PROS!


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Avis des PROS!

samedi 10 mai 2003 à 01:41:06 | Avis des PROS!

UnExPeCtEdSpy

Bonjour,

je suis plus familier du vb que du c++ alors j'vous d'mande de l'aide :

J'utilise une Dll en c+ avec un prog en Vb qui manipule des fichiers.

Quand j'execute une fonction de ma dll qui agit sur un fichier, par la suite il m'est impossible de suprimer le fichier en question (même aprés arret de vb6 il faut que je ferme vb6 pour pouvoir a nouveau supprimer le fichie, surement parce que la dll est encore en memoire)

Voici briévement les fonctions que je suspecte dans la dll

1) j'effectue un :
[...]
hFile = CreateFile( filename, // filename
GENERIC_READ, // access level
FILE_SHARE_READ, // share mode
NULL, // security attirubtes not needed
OPEN_EXISTING, // don't create a new file
FILE_FLAG_BACKUP_SEMANTICS,
NULL ); // no template file
[...]
2)
BackupRead( hFile, // file handle
Buf, // buffer to write the data
sizeof( Buf ), // size of the buffer
&read, // return value for bytes read
FALSE, // used to clear the data
TRUE, // back up the security descriptor
&context ))
[...]
3) et tout a la fin

if( !BackupRead( hFile, // file handle
NULL, // buffer to write the data
0, // size of the buffer
&read, // return value for bytes read
TRUE, // used to clear the data
FALSE, // back up the security descriptor
&context ))

CloseHandle( hFile );

Est ce que mon probleme serait inhérent a cette parite? ou bien parce que dans une autre partie de ma dll je change les privilege du procees??

Help please, j'ai vraiment besoin de pouvoir suprimer les fichiers meme en leur ayant appliqué le traitement par la Dll

UnExPeCTeDSpy



,.~*`'^~.(^. .^),.~^'`*~.
samedi 10 mai 2003 à 01:44:32 | Re : Avis des PROS!

UnExPeCtEdSpy

Apparement ça marche si je fait un CloseHandle( hFile ); inconditionel a la fin du fichier. Est ce que je peus suprimer carrement le test 3) ou est ce qu'il est mal fait... a vrai dire je sais pas a koi il sert .

merci

,.~*`'^~.(^. .^),.~^'`*~.


-------------------------------
Réponse au message :
-------------------------------

> Bonjour,
>
> je suis plus familier du vb que du c++ alors j'vous d'mande de l'aide :
>
> J'utilise une Dll en c+ avec un prog en Vb qui manipule des fichiers.
>
> Quand j'execute une fonction de ma dll qui agit sur un fichier, par la suite il m'est impossible de suprimer le fichier en question (même aprés arret de vb6 il faut que je ferme vb6 pour pouvoir a nouveau supprimer le fichie, surement parce que la dll est encore en memoire)
>
> Voici briévement les fonctions que je suspecte dans la dll
>
> 1) j'effectue un :
> [...]
> hFile = CreateFile( filename, // filename
> GENERIC_READ, // access level
> FILE_SHARE_READ, // share mode
> NULL, // security attirubtes not needed
> OPEN_EXISTING, // don't create a new file
> FILE_FLAG_BACKUP_SEMANTICS,
> NULL ); // no template file
> [...]
> 2)
> BackupRead( hFile, // file handle
> Buf, // buffer to write the data
> sizeof( Buf ), // size of the buffer
> &read, // return value for bytes read
> FALSE, // used to clear the data
> TRUE, // back up the security descriptor
> &context ))
> [...]
> 3) et tout a la fin
>
> if( !BackupRead( hFile, // file handle
> NULL, // buffer to write the data
> 0, // size of the buffer
> &read, // return value for bytes read
> TRUE, // used to clear the data
> FALSE, // back up the security descriptor
> &context ))
>
> CloseHandle( hFile );
>
> Est ce que mon probleme serait inhérent a cette parite? ou bien parce que dans une autre partie de ma dll je change les privilege du procees??
>
> Help please, j'ai vraiment besoin de pouvoir suprimer les fichiers meme en leur ayant appliqué le traitement par la Dll
>
> UnExPeCTeDSpy
>
>
>
> ,.~*`'^~.(^. .^),.~^'`*~.
samedi 10 mai 2003 à 08:16:08 | Re : Avis des PROS!

BruNews

Administrateur CodeS-SourceS
CloseHandle( hFile ); DOIT etre inconditionnel, sors le du test. Celui a effectuer est au debut sur CreateFile(), sortie directe si retourne -1.
BruNews, ciao...


-------------------------------
Réponse au message :
-------------------------------

> Apparement ça marche si je fait un CloseHandle( hFile ); inconditionel a la fin du fichier. Est ce que je peus suprimer carrement le test 3) ou est ce qu'il est mal fait... a vrai dire je sais pas a koi il sert .
>
> merci
>
> ,.~*`'^~.(^. .^),.~^'`*~.
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Bonjour,
> >
> > je suis plus familier du vb que du c++ alors j'vous d'mande de l'aide :
> >
> > J'utilise une Dll en c+ avec un prog en Vb qui manipule des fichiers.
> >
> > Quand j'execute une fonction de ma dll qui agit sur un fichier, par la suite il m'est impossible de suprimer le fichier en question (même aprés arret de vb6 il faut que je ferme vb6 pour pouvoir a nouveau supprimer le fichie, surement parce que la dll est encore en memoire)
> >
> > Voici briévement les fonctions que je suspecte dans la dll
> >
> > 1) j'effectue un :
> > [...]
> > hFile = CreateFile( filename, // filename
> > GENERIC_READ, // access level
> > FILE_SHARE_READ, // share mode
> > NULL, // security attirubtes not needed
> > OPEN_EXISTING, // don't create a new file
> > FILE_FLAG_BACKUP_SEMANTICS,
> > NULL ); // no template file
> > [...]
> > 2)
> > BackupRead( hFile, // file handle
> > Buf, // buffer to write the data
> > sizeof( Buf ), // size of the buffer
> > &read, // return value for bytes read
> > FALSE, // used to clear the data
> > TRUE, // back up the security descriptor
> > &context ))
> > [...]
> > 3) et tout a la fin
> >
> > if( !BackupRead( hFile, // file handle
> > NULL, // buffer to write the data
> > 0, // size of the buffer
> > &read, // return value for bytes read
> > TRUE, // used to clear the data
> > FALSE, // back up the security descriptor
> > &context ))
> >
> > CloseHandle( hFile );
> >
> > Est ce que mon probleme serait inhérent a cette parite? ou bien parce que dans une autre partie de ma dll je change les privilege du procees??
> >
> > Help please, j'ai vraiment besoin de pouvoir suprimer les fichiers meme en leur ayant appliqué le traitement par la Dll
> >
> > UnExPeCTeDSpy
> >
> >
> >
> > ,.~*`'^~.(^. .^),.~^'`*~.
>
samedi 10 mai 2003 à 12:45:18 | Re : Avis des PROS!

UnExPeCtEdSpy

Salut BruNews

Merci, et on en arrive directe a ma seconde question (eh oui tu n'a pas d'bol lol) j'ai transformé la fonction qui contenais ce code en procedure (void mafuntion etc) et donc avant pour sortir direct aprés le test de CreateFile() il y avait un 'return (-1)' mais maintenant que c'est une fonction comment faire une sortie directe? Sachant que si je mets un 'exit' pour ça il sort directe mais il tues aussi mon prog vb?

Merci :)


,.~*`'^~.(^. .^),.~^'`*~.


-------------------------------
Réponse au message :
-------------------------------

> CloseHandle( hFile ); DOIT etre inconditionnel, sors le du test. Celui a effectuer est au debut sur CreateFile(), sortie directe si retourne -1.
> BruNews, ciao...
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Apparement ça marche si je fait un CloseHandle( hFile ); inconditionel a la fin du fichier. Est ce que je peus suprimer carrement le test 3) ou est ce qu'il est mal fait... a vrai dire je sais pas a koi il sert .
> >
> > merci
> >
> > ,.~*`'^~.(^. .^),.~^'`*~.
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Bonjour,
> > >
> > > je suis plus familier du vb que du c++ alors j'vous d'mande de l'aide :
> > >
> > > J'utilise une Dll en c+ avec un prog en Vb qui manipule des fichiers.
> > >
> > > Quand j'execute une fonction de ma dll qui agit sur un fichier, par la suite il m'est impossible de suprimer le fichier en question (même aprés arret de vb6 il faut que je ferme vb6 pour pouvoir a nouveau supprimer le fichie, surement parce que la dll est encore en memoire)
> > >
> > > Voici briévement les fonctions que je suspecte dans la dll
> > >
> > > 1) j'effectue un :
> > > [...]
> > > hFile = CreateFile( filename, // filename
> > > GENERIC_READ, // access level
> > > FILE_SHARE_READ, // share mode
> > > NULL, // security attirubtes not needed
> > > OPEN_EXISTING, // don't create a new file
> > > FILE_FLAG_BACKUP_SEMANTICS,
> > > NULL ); // no template file
> > > [...]
> > > 2)
> > > BackupRead( hFile, // file handle
> > > Buf, // buffer to write the data
> > > sizeof( Buf ), // size of the buffer
> > > &read, // return value for bytes read
> > > FALSE, // used to clear the data
> > > TRUE, // back up the security descriptor
> > > &context ))
> > > [...]
> > > 3) et tout a la fin
> > >
> > > if( !BackupRead( hFile, // file handle
> > > NULL, // buffer to write the data
> > > 0, // size of the buffer
> > > &read, // return value for bytes read
> > > TRUE, // used to clear the data
> > > FALSE, // back up the security descriptor
> > > &context ))
> > >
> > > CloseHandle( hFile );
> > >
> > > Est ce que mon probleme serait inhérent a cette parite? ou bien parce que dans une autre partie de ma dll je change les privilege du procees??
> > >
> > > Help please, j'ai vraiment besoin de pouvoir suprimer les fichiers meme en leur ayant appliqué le traitement par la Dll
> > >
> > > UnExPeCTeDSpy
> > >
> > >
> > >
> > > ,.~*`'^~.(^. .^),.~^'`*~.
> >
>
samedi 10 mai 2003 à 13:15:10 | Re : Avis des PROS!

BruNews

Administrateur CodeS-SourceS
idem:
return -1;
dans ta fonction si -1 te convient comme indicateur d'erreur. Entendu qu'on ne sort jamais par exit, de toutes les manieres il est a bannir dans un prog Win32.
BruNews, ciao...


-------------------------------
Réponse au message :
-------------------------------

> Salut BruNews
>
> Merci, et on en arrive directe a ma seconde question (eh oui tu n'a pas d'bol lol) j'ai transformé la fonction qui contenais ce code en procedure (void mafuntion etc) et donc avant pour sortir direct aprés le test de CreateFile() il y avait un 'return (-1)' mais maintenant que c'est une fonction comment faire une sortie directe? Sachant que si je mets un 'exit' pour ça il sort directe mais il tues aussi mon prog vb?
>
> Merci :)
>
>
> ,.~*`'^~.(^. .^),.~^'`*~.
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > CloseHandle( hFile ); DOIT etre inconditionnel, sors le du test. Celui a effectuer est au debut sur CreateFile(), sortie directe si retourne -1.
> > BruNews, ciao...
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Apparement ça marche si je fait un CloseHandle( hFile ); inconditionel a la fin du fichier. Est ce que je peus suprimer carrement le test 3) ou est ce qu'il est mal fait... a vrai dire je sais pas a koi il sert .
> > >
> > > merci
> > >
> > > ,.~*`'^~.(^. .^),.~^'`*~.
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Bonjour,
> > > >
> > > > je suis plus familier du vb que du c++ alors j'vous d'mande de l'aide :
> > > >
> > > > J'utilise une Dll en c+ avec un prog en Vb qui manipule des fichiers.
> > > >
> > > > Quand j'execute une fonction de ma dll qui agit sur un fichier, par la suite il m'est impossible de suprimer le fichier en question (même aprés arret de vb6 il faut que je ferme vb6 pour pouvoir a nouveau supprimer le fichie, surement parce que la dll est encore en memoire)
> > > >
> > > > Voici briévement les fonctions que je suspecte dans la dll
> > > >
> > > > 1) j'effectue un :
> > > > [...]
> > > > hFile = CreateFile( filename, // filename
> > > > GENERIC_READ, // access level
> > > > FILE_SHARE_READ, // share mode
> > > > NULL, // security attirubtes not needed
> > > > OPEN_EXISTING, // don't create a new file
> > > > FILE_FLAG_BACKUP_SEMANTICS,
> > > > NULL ); // no template file
> > > > [...]
> > > > 2)
> > > > BackupRead( hFile, // file handle
> > > > Buf, // buffer to write the data
> > > > sizeof( Buf ), // size of the buffer
> > > > &read, // return value for bytes read
> > > > FALSE, // used to clear the data
> > > > TRUE, // back up the security descriptor
> > > > &context ))
> > > > [...]
> > > > 3) et tout a la fin
> > > >
> > > > if( !BackupRead( hFile, // file handle
> > > > NULL, // buffer to write the data
> > > > 0, // size of the buffer
> > > > &read, // return value for bytes read
> > > > TRUE, // used to clear the data
> > > > FALSE, // back up the security descriptor
> > > > &context ))
> > > >
> > > > CloseHandle( hFile );
> > > >
> > > > Est ce que mon probleme serait inhérent a cette parite? ou bien parce que dans une autre partie de ma dll je change les privilege du procees??
> > > >
> > > > Help please, j'ai vraiment besoin de pouvoir suprimer les fichiers meme en leur ayant appliqué le traitement par la Dll
> > > >
> > > > UnExPeCTeDSpy
> > > >
> > > >
> > > >
> > > > ,.~*`'^~.(^. .^),.~^'`*~.
> > >
> >
>
samedi 10 mai 2003 à 13:34:11 | Re : Avis des PROS!

UnExPeCtEdSpy


Oups désolé il y a une faute de frappe dans mon text :


"Merci, et on en arrive directe a ma seconde question (eh oui tu n'a pas d'bol lol) j'ai transformé la fonction qui contenais ce code en procedure (void mafuntion etc) et donc avant pour sortir direct aprés le test de CreateFile() il y avait un 'return (-1)' mais maintenant que c'est une procedure comment faire une sortie directe? Sachant que si je mets un 'exit' pour ça il sort directe mais il tues aussi mon prog vb?"

En fait c'est d'une procedure qui ne renvoie rien que je ne sais pas sortir en cours d'execution, quand je met un return(-1); il me dit 'void function returning a value'?

voila désolé


,.~*`'^~.(^. .^),.~^'`*~.


-------------------------------
Réponse au message :
-------------------------------

> idem:
> return -1;
> dans ta fonction si -1 te convient comme indicateur d'erreur. Entendu qu'on ne sort jamais par exit, de toutes les manieres il est a bannir dans un prog Win32.
> BruNews, ciao...
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Salut BruNews
> >
> > Merci, et on en arrive directe a ma seconde question (eh oui tu n'a pas d'bol lol) j'ai transformé la fonction qui contenais ce code en procedure (void mafuntion etc) et donc avant pour sortir direct aprés le test de CreateFile() il y avait un 'return (-1)' mais maintenant que c'est une fonction comment faire une sortie directe? Sachant que si je mets un 'exit' pour ça il sort directe mais il tues aussi mon prog vb?
> >
> > Merci :)
> >
> >
> > ,.~*`'^~.(^. .^),.~^'`*~.
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > CloseHandle( hFile ); DOIT etre inconditionnel, sors le du test. Celui a effectuer est au debut sur CreateFile(), sortie directe si retourne -1.
> > > BruNews, ciao...
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Apparement ça marche si je fait un CloseHandle( hFile ); inconditionel a la fin du fichier. Est ce que je peus suprimer carrement le test 3) ou est ce qu'il est mal fait... a vrai dire je sais pas a koi il sert .
> > > >
> > > > merci
> > > >
> > > > ,.~*`'^~.(^. .^),.~^'`*~.
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > Bonjour,
> > > > >
> > > > > je suis plus familier du vb que du c++ alors j'vous d'mande de l'aide :
> > > > >
> > > > > J'utilise une Dll en c+ avec un prog en Vb qui manipule des fichiers.
> > > > >
> > > > > Quand j'execute une fonction de ma dll qui agit sur un fichier, par la suite il m'est impossible de suprimer le fichier en question (même aprés arret de vb6 il faut que je ferme vb6 pour pouvoir a nouveau supprimer le fichie, surement parce que la dll est encore en memoire)
> > > > >
> > > > > Voici briévement les fonctions que je suspecte dans la dll
> > > > >
> > > > > 1) j'effectue un :
> > > > > [...]
> > > > > hFile = CreateFile( filename, // filename
> > > > > GENERIC_READ, // access level
> > > > > FILE_SHARE_READ, // share mode
> > > > > NULL, // security attirubtes not needed
> > > > > OPEN_EXISTING, // don't create a new file
> > > > > FILE_FLAG_BACKUP_SEMANTICS,
> > > > > NULL ); // no template file
> > > > > [...]
> > > > > 2)
> > > > > BackupRead( hFile, // file handle
> > > > > Buf, // buffer to write the data
> > > > > sizeof( Buf ), // size of the buffer
> > > > > &read, // return value for bytes read
> > > > > FALSE, // used to clear the data
> > > > > TRUE, // back up the security descriptor
> > > > > &context ))
> > > > > [...]
> > > > > 3) et tout a la fin
> > > > >
> > > > > if( !BackupRead( hFile, // file handle
> > > > > NULL, // buffer to write the data
> > > > > 0, // size of the buffer
> > > > > &read, // return value for bytes read
> > > > > TRUE, // used to clear the data
> > > > > FALSE, // back up the security descriptor
> > > > > &context ))
> > > > >
> > > > > CloseHandle( hFile );
> > > > >
> > > > > Est ce que mon probleme serait inhérent a cette parite? ou bien parce que dans une autre partie de ma dll je change les privilege du procees??
> > > > >
> > > > > Help please, j'ai vraiment besoin de pouvoir suprimer les fichiers meme en leur ayant appliqué le traitement par la Dll
> > > > >
> > > > > UnExPeCTeDSpy
> > > > >
> > > > >
> > > > >
> > > > > ,.~*`'^~.(^. .^),.~^'`*~.
> > > >
> > >
> >
>
samedi 10 mai 2003 à 13:43:47 | Re : Avis des PROS!

UnExPeCtEdSpy

Lol non c bon répond pas, j'suis vraiment une nouille

y a pas de probleme je peus la déclarer comme étant int mafonction(...) dans la dll et lui faire un return(-1) tout en conservant une déclaration de type sub dans mon vb.

Donc tout marche impecable now, c'est parfait pour moi

Merci bcp
@+

,.~*`'^~.(^. .^),.~^'`*~.


-------------------------------
Réponse au message :
-------------------------------

>
> Oups désolé il y a une faute de frappe dans mon text :
>
>
> "Merci, et on en arrive directe a ma seconde question (eh oui tu n'a pas d'bol lol) j'ai transformé la fonction qui contenais ce code en procedure (void mafuntion etc) et donc avant pour sortir direct aprés le test de CreateFile() il y avait un 'return (-1)' mais maintenant que c'est une procedure comment faire une sortie directe? Sachant que si je mets un 'exit' pour ça il sort directe mais il tues aussi mon prog vb?"
>
> En fait c'est d'une procedure qui ne renvoie rien que je ne sais pas sortir en cours d'execution, quand je met un return(-1); il me dit 'void function returning a value'?
>
> voila désolé
>
>
> ,.~*`'^~.(^. .^),.~^'`*~.
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > idem:
> > return -1;
> > dans ta fonction si -1 te convient comme indicateur d'erreur. Entendu qu'on ne sort jamais par exit, de toutes les manieres il est a bannir dans un prog Win32.
> > BruNews, ciao...
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Salut BruNews
> > >
> > > Merci, et on en arrive directe a ma seconde question (eh oui tu n'a pas d'bol lol) j'ai transformé la fonction qui contenais ce code en procedure (void mafuntion etc) et donc avant pour sortir direct aprés le test de CreateFile() il y avait un 'return (-1)' mais maintenant que c'est une fonction comment faire une sortie directe? Sachant que si je mets un 'exit' pour ça il sort directe mais il tues aussi mon prog vb?
> > >
> > > Merci :)
> > >
> > >
> > > ,.~*`'^~.(^. .^),.~^'`*~.
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > CloseHandle( hFile ); DOIT etre inconditionnel, sors le du test. Celui a effectuer est au debut sur CreateFile(), sortie directe si retourne -1.
> > > > BruNews, ciao...
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > Apparement ça marche si je fait un CloseHandle( hFile ); inconditionel a la fin du fichier. Est ce que je peus suprimer carrement le test 3) ou est ce qu'il est mal fait... a vrai dire je sais pas a koi il sert .
> > > > >
> > > > > merci
> > > > >
> > > > > ,.~*`'^~.(^. .^),.~^'`*~.
> > > > >
> > > > >
> > > > > -------------------------------
> > > > > Réponse au message :
> > > > > -------------------------------
> > > > >
> > > > > > Bonjour,
> > > > > >
> > > > > > je suis plus familier du vb que du c++ alors j'vous d'mande de l'aide :
> > > > > >
> > > > > > J'utilise une Dll en c+ avec un prog en Vb qui manipule des fichiers.
> > > > > >
> > > > > > Quand j'execute une fonction de ma dll qui agit sur un fichier, par la suite il m'est impossible de suprimer le fichier en question (même aprés arret de vb6 il faut que je ferme vb6 pour pouvoir a nouveau supprimer le fichie, surement parce que la dll est encore en memoire)
> > > > > >
> > > > > > Voici briévement les fonctions que je suspecte dans la dll
> > > > > >
> > > > > > 1) j'effectue un :
> > > > > > [...]
> > > > > > hFile = CreateFile( filename, // filename
> > > > > > GENERIC_READ, // access level
> > > > > > FILE_SHARE_READ, // share mode
> > > > > > NULL, // security attirubtes not needed
> > > > > > OPEN_EXISTING, // don't create a new file
> > > > > > FILE_FLAG_BACKUP_SEMANTICS,
> > > > > > NULL ); // no template file
> > > > > > [...]
> > > > > > 2)
> > > > > > BackupRead( hFile, // file handle
> > > > > > Buf, // buffer to write the data
> > > > > > sizeof( Buf ), // size of the buffer
> > > > > > &read, // return value for bytes read
> > > > > > FALSE, // used to clear the data
> > > > > > TRUE, // back up the security descriptor
> > > > > > &context ))
> > > > > > [...]
> > > > > > 3) et tout a la fin
> > > > > >
> > > > > > if( !BackupRead( hFile, // file handle
> > > > > > NULL, // buffer to write the data
> > > > > > 0, // size of the buffer
> > > > > > &read, // return value for bytes read
> > > > > > TRUE, // used to clear the data
> > > > > > FALSE, // back up the security descriptor
> > > > > > &context ))
> > > > > >
> > > > > > CloseHandle( hFile );
> > > > > >
> > > > > > Est ce que mon probleme serait inhérent a cette parite? ou bien parce que dans une autre partie de ma dll je change les privilege du procees??
> > > > > >
> > > > > > Help please, j'ai vraiment besoin de pouvoir suprimer les fichiers meme en leur ayant appliqué le traitement par la Dll
> > > > > >
> > > > > > UnExPeCTeDSpy
> > > > > >
> > > > > >
> > > > > >
> > > > > > ,.~*`'^~.(^. .^),.~^'`*~.
> > > > >
> > > >
> > >
> >
>
samedi 10 mai 2003 à 13:44:25 | Re : Avis des PROS!

BruNews

Administrateur CodeS-SourceS
Y a pas de procedure en C, c'est une illusion VB. Tout est fonction, void indique seulement au prog appelant que valeur de EAX est indefinie en sortie.
si tu laisses void alors:
return; // tout sec
BruNews, ciao...


-------------------------------
Réponse au message :
-------------------------------

>
> Oups désolé il y a une faute de frappe dans mon text :
>
>
> "Merci, et on en arrive directe a ma seconde question (eh oui tu n'a pas d'bol lol) j'ai transformé la fonction qui contenais ce code en procedure (void mafuntion etc) et donc avant pour sortir direct aprés le test de CreateFile() il y avait un 'return (-1)' mais maintenant que c'est une procedure comment faire une sortie directe? Sachant que si je mets un 'exit' pour ça il sort directe mais il tues aussi mon prog vb?"
>
> En fait c'est d'une procedure qui ne renvoie rien que je ne sais pas sortir en cours d'execution, quand je met un return(-1); il me dit 'void function returning a value'?
>
> voila désolé
>
>
> ,.~*`'^~.(^. .^),.~^'`*~.
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > idem:
> > return -1;
> > dans ta fonction si -1 te convient comme indicateur d'erreur. Entendu qu'on ne sort jamais par exit, de toutes les manieres il est a bannir dans un prog Win32.
> > BruNews, ciao...
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Salut BruNews
> > >
> > > Merci, et on en arrive directe a ma seconde question (eh oui tu n'a pas d'bol lol) j'ai transformé la fonction qui contenais ce code en procedure (void mafuntion etc) et donc avant pour sortir direct aprés le test de CreateFile() il y avait un 'return (-1)' mais maintenant que c'est une fonction comment faire une sortie directe? Sachant que si je mets un 'exit' pour ça il sort directe mais il tues aussi mon prog vb?
> > >
> > > Merci :)
> > >
> > >
> > > ,.~*`'^~.(^. .^),.~^'`*~.
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > CloseHandle( hFile ); DOIT etre inconditionnel, sors le du test. Celui a effectuer est au debut sur CreateFile(), sortie directe si retourne -1.
> > > > BruNews, ciao...
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > Apparement ça marche si je fait un CloseHandle( hFile ); inconditionel a la fin du fichier. Est ce que je peus suprimer carrement le test 3) ou est ce qu'il est mal fait... a vrai dire je sais pas a koi il sert .
> > > > >
> > > > > merci
> > > > >
> > > > > ,.~*`'^~.(^. .^),.~^'`*~.
> > > > >
> > > > >
> > > > > -------------------------------
> > > > > Réponse au message :
> > > > > -------------------------------
> > > > >
> > > > > > Bonjour,
> > > > > >
> > > > > > je suis plus familier du vb que du c++ alors j'vous d'mande de l'aide :
> > > > > >
> > > > > > J'utilise une Dll en c+ avec un prog en Vb qui manipule des fichiers.
> > > > > >
> > > > > > Quand j'execute une fonction de ma dll qui agit sur un fichier, par la suite il m'est impossible de suprimer le fichier en question (même aprés arret de vb6 il faut que je ferme vb6 pour pouvoir a nouveau supprimer le fichie, surement parce que la dll est encore en memoire)
> > > > > >
> > > > > > Voici briévement les fonctions que je suspecte dans la dll
> > > > > >
> > > > > > 1) j'effectue un :
> > > > > > [...]
> > > > > > hFile = CreateFile( filename, // filename
> > > > > > GENERIC_READ, // access level
> > > > > > FILE_SHARE_READ, // share mode
> > > > > > NULL, // security attirubtes not needed
> > > > > > OPEN_EXISTING, // don't create a new file
> > > > > > FILE_FLAG_BACKUP_SEMANTICS,
> > > > > > NULL ); // no template file
> > > > > > [...]
> > > > > > 2)
> > > > > > BackupRead( hFile, // file handle
> > > > > > Buf, // buffer to write the data
> > > > > > sizeof( Buf ), // size of the buffer
> > > > > > &read, // return value for bytes read
> > > > > > FALSE, // used to clear the data
> > > > > > TRUE, // back up the security descriptor
> > > > > > &context ))
> > > > > > [...]
> > > > > > 3) et tout a la fin
> > > > > >
> > > > > > if( !BackupRead( hFile, // file handle
> > > > > > NULL, // buffer to write the data
> > > > > > 0, // size of the buffer
> > > > > > &read, // return value for bytes read
> > > > > > TRUE, // used to clear the data
> > > > > > FALSE, // back up the security descriptor
> > > > > > &context ))
> > > > > >
> > > > > > CloseHandle( hFile );
> > > > > >
> > > > > > Est ce que mon probleme serait inhérent a cette parite? ou bien parce que dans une autre partie de ma dll je change les privilege du procees??
> > > > > >
> > > > > > Help please, j'ai vraiment besoin de pouvoir suprimer les fichiers meme en leur ayant appliqué le traitement par la Dll
> > > > > >
> > > > > > UnExPeCTeDSpy
> > > > > >
> > > > > >
> > > > > >
> > > > > > ,.~*`'^~.(^. .^),.~^'`*~.
> > > > >
> > > >
> > >
> >
>


Cette discussion est classée dans : buffer, file, dll, read, hfile


Répondre à ce message

Sujets en rapport avec ce message

File Mapping entre 2 programmes [ par Arkadias ] Bonjour,Je développe une application ou il sera nécessaire à 2 programmes différents (mais éxecuté sur la même machine) d'échanger les données d'un bu (win32)Fichier et buffer en lecture seule [ par mogwai93 ] Bonjour Je voudrais lire un fichier, placer le contenu de ce fichier dans un buffer et modifier ce buffer (mais pas le fichier). J'arrive bien à ou verification de code [ par dyroj ] salut a tous,je voudrai savoir si il y a des faute au niveu de la fonction select() et si je suis obliger de metre sock+1 au lieu de sock dans se peti Envoi de fichier non complet [ par trafounet ] bonjour à tous,je cherche à envoyer un fichier par socket et ca marche pour les fichiers de petite taille (quelques ko) mais malheuresement dès que le Binaire Hexa :-S Un petit soutient svp [ par MrDimanche ] Bonjour, voila ce qui m'amène.Je dois lire un fichier de données binaire, et le convertir. Mais si j'ai une petite expérience en c, c'est la première ecrire ds un fichier [ par 69lion69 ] Salut a tous alor voila dans une application en api windows je créér un fichier et je copie le contenu dun tableau de float le fichier mais il ma'affi pb acces avec createfile et ReadDirectoryChangesW [ par kts_system ] bonjour,voila mon probleme : j'ai une classe qui permet de reperer les changement dans un dossier (ajout / modif /suppression)poutr cela je lance un t Charger des fonctions depuis une dll [ par HeXa2 ] Bonjour!Je viens de finir de compiler une DLL: H2BUSDLL.dllcette dll a pour but de gerer une communication sur le port com (que je vais interfacer ave execution de programme [ par silverfr78021959 ] bonjour a tous, voilà j'ai un probleme quand je veux executer mon prog sur devc++ il m'ouvre la fenteree dos mais la referme aussi tot je peux donc pa demande conseil class [ par silverfr78021959 ] salut as tousje voudrais faire la meme chose que le programme montré ci-dessous, sauf que lamapEt comment je peu acceder au valeur contenu d


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,108 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales