begin process at 2010 02 09 23:06:37
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

Probleme d'affichage


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

Probleme d'affichage

lundi 29 août 2005 à 11:01:51 | Probleme d'affichage

khamine

Salut tout le monde;
j'ai une question a la quelle j'ai pas pu trouver de reponse, ben , pour quoi si on lanse un long traitement sur VC6 (par exemple avec un click sur un button) tous les autres controles se bloquent, et pire que cela le dialog deviens illisible, je veux pas etuliser les threades mais si qlq1 a une solution pour rendre la fenetre lisible meme s'elle est inactive.

Mercie pour tous.
lundi 29 août 2005 à 11:06:12 | Re : Probleme d'affichage

vinc1008881

???, moi sa ne mais jamais arriver ce problème, montre nius ton code
lundi 29 août 2005 à 11:17:39 | Re : Probleme d'affichage

BruNews

Administrateur CodeS-SourceS
Un long traitement se met dans un thread séparé.

ciao...
BruNews, MVP VC++
lundi 29 août 2005 à 11:56:06 | Re : Probleme d'affichage

khamine

oui c'est vrais c'est un trés long traitement mais le probleme avec les threads c'est que j'arrive pas a me connecter a une BD dans le thread ni  avec ADO ni DAO (ODBC jamais essayé)

Merci pour tous
lundi 29 août 2005 à 12:30:55 | Re : Probleme d'affichage

BruNews

Administrateur CodeS-SourceS
J'avais déjà répondu à cela il y a peu.

dans WinMain:
if(S_OK != CoInitializeEx(NULL, COINIT_MULTITHREADED)) return 0;

dans bouton, exemple issu de mon taf:
hthread = CreateThread(0, 0, MdbStructThread,...);

DWORD WINAPI MdbStructThread(PVOID pvPrm)
{
  ExtractStructDB((LPANALYDATA)pvPrm);
  PostMessage(((LPANALYDATA) pvPrm)->hDlg, WM_ANALYSEND, 0, 0);
  return 0;
}
void ExtractStructDB(LPANALYDATA pData)
{
  DWORD dwWrite;
  _ConnectionPtr pConnDB = NULL;
  _RecordsetPtr pRs, pSchemaRs;
  FieldPtr pFld;
  long i, nFlds, lType, bRet = 1;
  _bstr_t bst("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=");
  _variant_t varIdx;
  bst += pData->szMdb;
  if(pData->szPsswrd[0]) {bst += ";Jet OLEDB:Database Password="; bst += pData->szPsswrd;}
  try {
    TESTHR(pConnDB.CreateInstance(__uuidof(Connection)));
    TESTHR(pRs.CreateInstance(__uuidof(Recordset)));
    pConnDB->Mode = adModeShareExclusive;
    pConnDB->Open(bst, "", "", NULL);
  }
  catch(_com_error &e) {MsgAdoError(pData->hDlg, e); return;}

ETC......
}

et voilà ADO en thread et va impec.

ciao...
BruNews, MVP VC++
lundi 29 août 2005 à 16:37:07 | Re : Probleme d'affichage

khamine

est ce que tu peux m'expliquer ton thread fait quoi et pour quoi la condition if dans winmain qui return 0.
Merci.
lundi 29 août 2005 à 17:10:29 | Re : Probleme d'affichage

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
Je mets dans WinMain() pour initialiser COM en multithread sinon tu mets CoInitialize(NULL) au début du thread.

Ce que fait le thread peu importe, j'ai juste mis le début pour montrer comment initialiser les pointeurs ADO, ensuite tout s'emploie normalement comme dans mes exemples ADO en source sur cppfrance.

ciao...
BruNews, MVP VC++


Cette discussion est classée dans : probleme, affichage


Répondre à ce message

Sujets en rapport avec ce message

probleme affichage d'icones [ par moi1664 ] Bonjour je sui débutant en C et j'ai un probleme d'affichage dans une fenetre..Je commence la programmation API et je souhaite afficher une icone dans probleme avec l'instance dans l'affichage d'un bitmap [ par Druith2 ] Bonjour, je suis nouveau dans la programmation windows, et pour le moment je fais davantage du bricolage de sources que de la prog... Et actuellement, Probleme affichage OpenGL [ par LudoBoOz ] Bonjour @ tousVoila je fais une appli où j'ai besoin d'avoir trois scenes OpenGl sur une même fenetre Windows. Pour cela, j'ai créé 3 frames dans lesq Affichage d'image [ par elinep ] Bonjour tout le monde!Voila mon probleme:Je me met a la programmation de l'API win32. J'essaye de faire un petit prog qui charge une image .bmp depuis P'tit probleme d'affichage.... [ par tottor ] Bonjour !Help me svp :j'ai un program qui tournait avec openGl et glut avec Devc++ sous Win98j'ai juste changé :GL_SIMPLE par GL_DOUBLE et :gl_flush() affichage 3d [ par Arnaud16022 ] voici le probleme:Soit A un point défini par la ctruct Vecteur3d{float x,x,z;} de coordonées dans l'espace cartésien orienté orthonormé (A.x,A.y,A.z). probleme d affichage [ par boulach ] je voudrais savoir coment allumer des pixels a partir d'un tableau de coordonnées x et y?queelle librairie?mercije suis novice alors essayer d'etre pa Probleme d'affichage [ par the beber ] Bonjour j'utilise la librairie allegropour un jeu mais j'ai un probleme. Quand j'appuis sur la touche haut, je deplace limage vers le haut. Mais son d affichage fenetre modale [ par ash2005 ] bonjour!!J'ai un petit probleme sur l'affichage et la fermeture d'une fenetre CDialog.En fait je veux afficher une fenetre Modale (que j'appelle fenet probléme d'affichage [ par vladisback ] bonjour je réalise actuellement mon premier programme utilisant l'opengl, j'utilise un double buffer pour l'affichage mais voila, il y a des traits ho


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

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,310 sec (4)

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