2010-03-01 5 views
1

Je viens d'installer Delphi 2010 et j'ai eu quelques problèmes avec le composant idHTTP. Si je laisse tomber sur la forme et essayer de compiler, Delphi dit que:Pourquoi ai-je des erreurs de compilation en utilisant la distribution Indy intégrée de Delphi 2010?

[Erreur DCC] IdCookieManager.pas (118): E2010 types incompatibles: 'TIdCookieList' et 'TIdCookieDomainList'

[Erreur DCC ] IdCookieManager.pas (172): E2003 identificateur non déclaré: 'IsValidCookie'

[erreur CDC] IdCookieManager.pas (236): E2010 types incompatibles: 'TIdCookieList' et ' TIdCookieDomainList'

[DCC Fatal Error ] Unit4.pas (7): F2063 Impossible compilation unité utilisée 'IdCookieManager.pas'

Où est le problème? Je ne comprends pas. = (

PS Il Embarcadero® de Delphi® 2010 Version 14.0.3593.25826

+1

Utilisation du entièrement patché Delphi 2010, je crée une nouvelle application, larguée sur la forme d'un composant TIdHTTP et il compilé très bien. Avez-vous des étapes plus détaillées? –

+0

Je n'ai également aucun problème avec IdHttp dans Delphi 2010. – vcldeveloper

Répondre

2

La version d'Indy qui est venu avec D2010 était incomplète, bien que cela peut avoir été corrigé dans une mise à jour ultérieure. Dans le cas contraire, ou si vous êtes en utilisant un non patchées Delphi, ce n'est l'un des a number of problems you may encounter, depending on which parts of Indy you use.

Je vous suggère de vous assurer que votre Delphi est entièrement mis à jour et peut-être aussi envisager d'obtenir le dernier Indy 10 de la AtoZed SVN server.

+0

D'accord, c'est une bonne idée d'obtenir la dernière version d'Indy. Cependant, son Delphi est entièrement mis à jour, et déposer un composant TIdHTTP (la version fournie avec Delphi 2010) sur un formulaire dans un nouveau projet fonctionne comme un charme pour moi. –

+1

La mise à niveau vers un snapshot SVI Indy 10 plus récent est la solution. Il y a eu plusieurs corrections de bugs depuis la sortie de 2010, y compris des mises à jour majeures des classes de support de cookies. –

1

IIRC, lorsque vous installez D2010 vous choisissez si installer Indy 9 ou 10. Cela me semble b Si vous choisissez d'installer Indy 9, les chemins de la bibliothèque dans l'EDI voient la source Indy10 (ou vice versa) alors qu'elle voit les .DCU pour l'autre version dans le dossier Lib. La solution la plus simple serait de réinstaller Delphi, et assurez-vous de choisir Indy 10 afin que les fichiers source et compilés .DCU correspondent. L'autre option consiste à désinstaller complètement Indy, puis à le réinstaller à partir de la source suggérée par @Deltics ci-dessus.

+1

Il n'y a pas d'option pour installer Indy 9 dans D2010. Indy 9 n'est pas compatible avec 2010, ni même 2009 d'ailleurs. Il a été inclus dans l'installateur 2009 par accident. –

+0

Remy, je devais penser à D2009 ayant les deux versions. Merci pour la correction. On dirait toujours que le compilateur trouve les deux versions et devient confus pour moi, cependant; c'est la cause habituelle des messages "incompatibles" que l'OP voit quand cela arrive pour des choses comme "TIDCookieList" et "TIDCookieDomainList". –

0

Est-ce que Delphi 2010 n'est pas livré avec DCU pour Indy?

Pourquoi abandonner TIdHTTP sur un formulaire essayant de compiler les sources Indy? Avez-vous ajouté le chemin d'accès aux fichiers source Indy vers le chemin de la bibliothèque?

Mon dernier Delphi est 2009, mais le dossier avec DCU, $(BDS)\Lib\Indy10, est proche du sommet du Chemin de la bibliothèque