|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() Inscription : mai 2002 Messages : 184 ![]() |
Bonjour,
J'ai une application multi-tiers utilisant le composant Borland Socket server. Maintenant je dois faire fonctionner tout cela sur MS Serveur 2008 64 bits. Le Borland Socket server fonctionne pas sur cet OS ou en tout cas très mal. J'ai pris le Borland Socket server de XE2 et la dll midas correspondante. Maintenant j'ai le problème de type entre le TStringField et les TWideStringField. Evidement il attends TWideStringField au lieu d'un TStringField. J'ai résolu ce problème mais j'ai des composants qui sont liés directement base de données, et là l'affichage est ko lorsque j'utilise des composant tel des lookup. La liste (affichage) du lookup est correct, le lien est bien fait mais l'affichage est KO. On selectionne un libelle dans la liste qui est affiché correctement, on valide et là le libelle n'est plus correcte (C???). Est ce que cela est possible de convertir cette chaine pour que l'affichage soit bon ? Est ce que je suis obligé de faire évolué l'application et de la faire fonctionner avec Delphi X3 ? C'est que l'on vaudrait éviter. (cause l'achat de composants etc..) a+ |
|
|
00
|
|
|
#2 | |
|
Expert Confirmé Sénior
![]() Développeur C++\Delphi Inscription : juillet 2006 Messages : 9 252 ![]() |
Je comprend pas, tu veux utiliser un client D7 et un Borland Socket server de XE2 ?
Déjà cela me supprend que le protocole n'est pas changé en 10 ans ou si il a changé, que la version XE2 supporte différentes versions de clients m'impressionne ! Ta chaine doit être en Unicode que D7 ne sait pas géré, il est peut-être déjà trop tard, ta chaîne a été altéré dans les couches Midas de ton client, il s'attendait à une chaine ANSI, tu lui fourni un chaine WIDE, cela doit le paniquer ! Citation:
Tu utilises un compilateur vieux de 10 ans avec un Framework conçu au mieux pour XP SP1 32Bits (5.1) et tu veux le faire tourner sur un OS 64 Bits (6.1) Tu te prives d'évolution et du confort de l'IDE modernisé, tu t'exposes à des problèmes de pérénnité de plus en plus fréquent ... J'ai eu le même dilemme que toi, mon ancien employeur a renoncé de migrer D7 vers D2010 préférant refaire des modules en PHP (ce dernier utilisant un ActiveX pilotant l'exe D7, oui, j'ai pondu cela pendant mon préavis) Depuis j'ai changé d'employeur pour C++2007 migré depuis en XE2
__________________
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y ! Attention Troll Méchant ! ![]() "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer ! L'ignorance n'excuse pas la médiocrité ! L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde) Il faut avoir le courage de se tromper et d'apprendre de ses erreurs Halte à la ségrégation des Cinémas, VO sur Paris, VF en Banlieue, Abonnement résilié ! |
|
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() Inscription : mai 2002 Messages : 184 ![]() |
Merci de ta réponse.
Mon Client et mon serveur application a été développé en D7. Mais le borland socket de D7 n'arrive pas à fonctionner correctement sur MS serveur 64. Cela ne pas surpris plus que cela vu l’ancienneté du produit. Alors je me suis lancé dans des tests et j'ai utilisé le borland socket serveur 32 b de la version X2 et sa midas.dll. Cela fonctionne bien sauf pour le TStringField puisqu'il est passée en TWideStringField. Donc pour les champs persistant j'ai résolu le problème. Mais par contre dans l'affichage des composants Lookup et autres du même style NON. Je vais essayé d'intercepter la chaîne avant l'affichage et la convertir au format Wide. Mais je pense comme toi cela doit être déjà trop tard Je sais c'est pas propre. Le mieux est comme tu l'indiques de la passer intégralement sous X3 mais là je ne suis pas décideur et surtout que je suis déjà en train de la migrer en ASPX. En tout cas si quelqu'un a une astuce, je suis preneur. |
|
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() Développeur C++\Delphi Inscription : juillet 2006 Messages : 9 252 ![]() |
Sur ce serveur 2008 64 bits.
Tu as le ScktSrvr.exe de XE2, Midas.DLL de XE2 et des programmes D7, mais la DLL midas D7 entre XE2 a évolué, tu risques d'avoir une incompatibilités des interfaces sauf si ils ont été très rigoureux, que les interfaces existantes n'ont pas été modifié et qu'ils ont fait des extensions pour la nouvelle version, comme le recommande Microsoft pour la compatibilité des objets COM
__________________
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y ! Attention Troll Méchant ! ![]() "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer ! L'ignorance n'excuse pas la médiocrité ! L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde) Il faut avoir le courage de se tromper et d'apprendre de ses erreurs Halte à la ségrégation des Cinémas, VO sur Paris, VF en Banlieue, Abonnement résilié ! |
|
|
00
|
|
|
#5 |
|
Membre habitué
![]() Inscription : mai 2002 Messages : 184 ![]() |
Je n'ai pas de problème sur ce point là.
Je viens de résoudre une partie de mon problème. Le composant utilisé est un TcxDBPopupEdit de DevExpress sur son évènement CloseUp, je récupère la valeur et affectes la propriéte TEXT de celui-ci TEXT := string("MaChaine") et là impec. Maintenant 2 eme étape, c'est quand on arrive sur le fiche, faut que je fasse la même chose. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com