|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
Mur Mikael Inscription : avril 2010 Messages : 98 ![]() |
Bonjour à tous,
Si vous n'avez pas rencontrer ce genre de problème, merci de faire un petit test qui ne demande pas beaucoup du temps: Pour cela il nous faut deux postes: un "client" et un "serveur" : Environnement : Delphi / Paradox 1- Exécuter cette procédure delphi à partir du client : (Table1 est située dans le serveur) Code :
3- A partir du poste client couper puis rétablir le réseau. 4- Re-exécuter la procédure TForm1.OpenCloseClick à partir du client. ==> L'interface client se plante SVP J'aimerais bien avoir des solutions techniques, et non pas des conseilles genre il faut passer à un vrai SGBD client/serveur, .... |
||
|
|
00
|
|
|
#2 | |
|
Expert Confirmé Sénior
![]() Développeur informatique Inscription : novembre 2006 Messages : 4 440 ![]() |
Salut je risque de dire des aneries mais les bases de données Paradox ce sont des fichiers .db donc les exploiter en mode client-serveur ça me parait difficile.
1 sous Delphi les exceptions ça se gère me semble-t-il donc il faudrait mettre une gestion d'exception pour voir les erreurs et éviter le plantage. 2 si la BDD est mise sur un serveur il faut s'assurer des droits en admnistration côté serveur , lecture de fichier, écriture etc... Ceci dit concernant Paradox je doute fortement qu'on puisse mettre les fichiers sur un serveur sans problèmes. Citation:
![]() avec Paradox ça me parait difficile ou alors chercher un composant tout fait pour Delphi une sorte d'unité payante... |
|
|
|
00
|
|
|
#3 | ||
|
Expert Confirmé Sénior
![]() Développeur informatique Inscription : novembre 2006 Messages : 4 440 ![]() |
Citation:
Donc la solution c'est de placer la procédure d'ouverture dans un TThread et voir si la base de donnée est bien fermée. Il faut s'assurer des codes de retour et mettre des gestions d'exceptions. Mais faire ce genre de chose avec Paradox n'est pas exempts de problèmes... Citation:
Donc le problème doit venir des droits sur le serveur d'écriture de fichiers ou bien alors le fichier .lck ne retrouve pas les références du ou des fichiers .bd correspondant(s) étant donné que les 2 fichier n'ont pas les mêmes emplacement physiques.. |
||
|
|
00
|
|
|
#4 | ||
|
Invité de passage
Mur Mikael Inscription : avril 2010 Messages : 98 ![]() |
Merci bien Mat.M , pour votre réponse c'était très utile.
Et ben ce que j'ai constaté est que l'interface client se bloque pendant un moment (environ 4 ou 5 minutes), puis l'exécution se poursuit (les ShowMessage apparaissent ). Donc ce que j'ai fait est de mettre la procédure OpenClose() dans un TThread, voici le comportement de l'interface lors de l'exécution de la procédure (4 éme étape du message précédent). 1- Les ShowMessage apparaissent normalement, pas de blocage de l'interface. 2- Mais lorsque je quitte l'interface, elle se plante pendant un moment (les 5min qui étaient dans la première procédure) puis elle se ferme. Voici le code de la thread : Code :
|
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com