Domanda

Il caso

Sto cercando di aggiornare l'INDY alla versione più recente per il mio Delphi XE (Update 1), così ho scaricato l'ultimo file INDY10 (Indy_4545.zip) da indy.fulgan.com/ZIP .

I pacchetti compilato correttamente e ora posso anche vedere la nuova versione 10.5.8.0 nella finestra di dialogo su, ma dopo un IDE riavviare ho ricevuto un messaggio che dice:

No se encuentra el punto de entrada del Procedimiento @ Idhttp @ @ TIdCustomHTTP GetRequestHeaders $ qqrv en la Biblioteca de Vínculos Dinamicos IndyProtocols150.bpl.

La mia traduzione libera di inglese:

Punto di ingresso non trovato per la procedura @ @ Idhttp TIdCustomHTTP @ GetRequestHeaders $ qqrv non trovato sul libreria di collegamento dinamico IndyProtocols150.bpl.

Dopo un rapido confronto di vecchie e nuove IdHTTP.pas ho trovato un sacco di cambiamenti sulla classe TIdCustomHttp, tra cui la ridenominazione di alcuni metodi

  • GetResponseHeaders a GetResponse
  • GetRequestHeaders a GetRequest
  • SetRequestHeaders a SetRequest

Con modificati / ditte metodo pubblicato pubbliche in questo e in altri e classi interfacce.

Dopo l'aggiornamento, ho un sacco di pacchetti mancato caricamento e dclcxPivotGridOLAPD15.bpl, che a sua volta dipende dclDataSnapServer150.bpl che incontra il metodo mancante sulla BPL.

Per quanto ne sappia io non posso ricompilare il dclDataSnapServer150.bpl (e forse altri pacchetti in mancanza, ho appena fermato qui).

Supporto DataSnap e DevExpress sul IDE è un must per il mio giorno per giorno in modo

Le domande

  1. C'è un percorso sicuro prestabilito per l'aggiornamento alla più recente INDY per Delphi XE?
  2. In caso contrario, io sono al sicuro semplicemente parching il codice sorgente, creando i vecchi metodi pubblici e chiamare quelli nuovi da parte di implementazione?
  3. mi sto perdendo qualcosa di diverso o sto veramente bloccato con INDY 10.5.7 fino alla prossima Delphi minore / maggiore rilascio?
È stato utile?

Soluzione 3

Da altri delle risposte e soprattutto i commenti di Remy:

Non è possibile installare Indy 10.5.8.0 senza rompere DataSnap in Delphi XE Update 1.

Altri suggerimenti

[Installazione di Indy per Delphi XE]

Sì, il processo di installazione è noioso, ma vale la pena di farlo bene fare.

Questo è per tutti i componenti ad eccezione di Indy SSL. (Non ho ancora provato una qualsiasi delle cose SSL).

A.) Cercare e distruggere tutti i file Indy che vengono con Delphi. Questi sono non va bene in quanto il progetto Indy viene aggiornato ogni giorno con le nuove correzioni di bug. Se Delphi prende uno qualsiasi dei vecchi file invece di vostra nuova libreria fresco di Indy, otterrete errori pazzo dal IDE in ogni momento diversi che sono molto difficili da traccia.

i. Vai a Component -.> Installa pacchetti, quindi rimuovere completamente tutti i pacchetti che iniziano con "Indy"

II. Chiudi Delphi.

III. Cancellazione di tutti i file che corrispondono "dclIndy * .bpl" e "Indy * .bpl" dalla cartella Bin di Delphi.
(C: \ Program Files \ Embarcadero \ RAD Studio \ 8.0 \ bin)

IV. Cancellare tutti i file che corrispondono "Indy * .dcu" e "Id * .dcu" ^^^ in sottocartelle Lib di Delphi.
(C: \ Program Files \ Embarcadero \ RAD Studio \ 8.0 \ lib \ win32 \ debug)
(C: \ Program Files \ Embarcadero \ RAD Studio \ 8.0 \ lib \ win32 \ release)
^^^ Attenzione: guardare fuori per non Indy DCU che capita di iniziare con le lettere "id" come "idispids.dcu" e "idoc.dcu"

v. Eliminare l'intera cartella di origine Indy10:
(C: \ Program Files \ Embarcadero \ RAD Studio \ 8.0 \ fonte \ Indy10)

B). Scarica l'ultima Indy10_XXXX.zip da http://indy.fulgan.com/ZIP / (Se si ottiene un errore di compilazione o di errore di runtime utilizzando questo file zip per uno dei passaggi qui sotto - non scoraggiatevi! Re-scaricare il file zip nel giorno e prova a seguire ancora. Questo file zip viene aggiornato ogni giorno e c'è una possibilità che ci possa essere alcuni bug / errori in un dato giorno.)

C). estrarre solo le cartelle di sistema, Core, e protocolli nella propria cartella Libreria Indy. es.
(C: \ \ MyDelphiComponents Indy \ Core)
(C: \ \ MyDelphiComponents Indy \ System)
(C: \ MyDelphiComponents \ Indy \ Protocols)

D.) Launch Delphi. Ignorare tutte le finestre di dialogo pacchetto non riuscita: Questi sono i pacchetti Embarcadero che si basano su Indy! (Basta cliccare Ok su tutti gli errori, e indicano che non riusciti pacchetti non dovrebbero essere caricati di nuovo).

E) Vai a Opzioni -.> Opzioni Ambiente -> Opzioni Delphi -> Navigazione Path - percorsi Rimuovere che iniziano con $ (BDS) \ lib \ Indy10

F) Vai a Opzioni -.> Opzioni Ambiente -> Opzioni Delphi -> Library Path -. Aggiungi il tuo nuove cartelle di sistema, Core, e protocolli dal punto C al percorso della libreria di Delphi

G) , eseguire le seguenti 5 azioni in ordine.: (Basta dire OK per eventuali finestre di dialogo circa l'aggiornamento del progetto.)


Importante:

Dopo aver caricato ogni dpk e prima di ogni generazione, andare a:

Progetto -> Opzioni -> Descrizione -> Costruire controllo

Imposta pulsante di opzione per "esplicita Rebuild".

(In realtà, questo è facoltativo, ma ho sempre fare pacchetti esplicita Rebuild perché sembrano più facili da gestire in questo modo, ma mi piacerebbe sentire cosa altri a riflettere su questo ...)


  1. Build - System \ IndySystem150.dpk
  2. Build - Core \ IndyCore150.dpk
  3. Crea prima, poi Install - Core \ dclIndyCore150.dpk
  4. Build - Protocols \ IndyProtocols150.dpk
  5. Crea prima, poi Install - Protocols \ dclIndyProtocols150.dpk

** Doppio controllo che hai impostato "esplicita Rebuild" su tutti i pacchetti! **

H) , infine, andare a Component -.> Installa pacchetti e trovare tutti i pacchetti che si basano su Indy che sono stati spenti durante la fase D. Riattivare loro, e riavviare Delphi. (Se il vostro nuovo Indy non è cambiato troppo da quello rilasciato con Delphi, quelli pacchetti utilizzeranno la nuova Indy!)

++ Nota, non si può ricevere eventuali errori subito alla riattivazione quelli Embarcadero pacchetti, ma possono pop-up a volte casuali successivamente. Per esempio, ho appena installato Indy10_4548.zip e tutti i pacchetti riattivate sembravano belle. Poi il giorno dopo fuori l'azzurro, l'IDE mi ha buttato un messaggio che ha detto che non riusciva a trovare GetRequestHeaders a TIdCustomHTTP e che il dclWindowsAzureManagement150.bpl aveva problemi come risultato. Così ho dovuto tornare indietro e disabilitare il pacchetto Windows Azure nell'IDE.

Per quanto ne so si sta andando a perdere alcuni pacchetti che dipende fortemente la versione Indy schierato con Delphi, in particolare il nuovo DataSnap.

Puoi provare a costruire i pacchetti onwn da utilizzare al posto di quelli standard che non può essere ricompilato, a patto che tutte le unità necessarie sono disponibili.

IMHO Embarcadero dovrebbe trovare una soluzione su un proprio codice a seconda di una libreria "instabile" come Indy. Questo non è accettabile in un ambiente professionale, soprattutto perché non sono in grado di rilasciare aggiornamenti ufficiali, tra cui le correzioni di bug da Indy al di là di qualche mese dalla release. Per esempio ho scoperto ultimamente che Indy 10.5.5 messaggi di posta tronca parsing mail vengono, non accade in 10.5.8. Naturalmente il comportamento 10.5.5 non è accettabile, sono costretto ad aggiornare ...

Anche se io non uso Delphi XE la mia auto, ma la versione 2010. Sono stato in grado di aggiornare i componenti Indy alla versione più recente, con l'aiuto di questo post Stack Overflow: passo dopo passo l'aggiornamento di Indy 10 in Delphi 2009

So che la domanda è per il 2009 (ma le copertine di risposta 2010 pure), ma ha funzionato per me in versione 2010, quindi la mia ipotesi è che vi aiuterà pure. Mi consiglia avessi letto i commenti, in quanto ci sono alcune buone note anche lì. Spero che questo aiuti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top