Frage

Der Fall

Ich versuche, die Indy auf die neueste Version für mein Delphi XE (Update 1) zu aktualisieren, also habe ich die neueste Indy10 -Datei (INDY_4545.zip) von heruntergeladen indy.fullgan.com/zip.

Die Pakete kompilieren erfolgreich und ich kann jetzt sogar die neue Version 10.5.8.0 im Dialogfeld "About Box" sehen, aber nach einem IDE -Neustart erhielt ich eine Nachricht mit der Aufschrift:

Keine secuentra el punto de entrada del processimiento@idhttp@tidcustomhttp@getRequestheaders $ qqrv en la biblioteca de vínculos dinámicos indyprotocols150.bpl.

Meine kostenlose Übersetzung in Englisch:

Einstiegspunkt nicht für procedure@idhttp@tidcustomhttp@getRequestheaders $ qqrv nicht in der dynamischen Link -Bibliothek Indyprotocols150.bpl gefunden.

Nach einem kurzen Vergleich von alten und neuen Idhttp.pas habe ich viele Änderungen in der Tidcustomhttp -Klasse gefunden, einschließlich der Umbenennung einiger Methoden

  • GetResponseHeaderers GetResponse
  • GetRequestheaders to GetRequest
  • SetRequestheaders zu setRequest

Zusammen mit veränderten öffentlichen/veröffentlichten Methodenfirmen in diesem und anderen und Klassenschnittstellen.

Nach dem Update habe ich viele Pakete nicht geladen, einschließlich dclcxpivotgridolapd15.bpl, was sich auch nicht von DCLDATASNAPSERVER150.BPL abhängt, das auf die fehlende Methode auf der BPL stößt.

Afaik Ich kann das DCLDATASNAPSERVER150.BPL nicht neu kompilieren (und vielleicht andere fehlgeschlagene Pakete, ich habe gerade hier aufgehört).

DatasNap- und Devexpress -Unterstützung auf der IDE ist ein Muss für meinen Tag für Tag, also

Die Fragen

  1. Gibt es einen sicheren vorab festgelegten Weg zum neuesten Indy für Delphi XE?
  2. Wenn nicht, bin ich auf der sicheren Seite, indem ich den Quellcode nur durch die Erstellung der alten öffentlichen Methoden profitiere und die neuen im Implementierungsteil anrufen?
  3. Vermisse ich noch etwas oder bin ich wirklich bei Indy 10.5.7 bis zum nächsten Delphi Minor/Major Release?
War es hilfreich?

Lösung 3

Aus den Antworten des anderen und hauptsächlich von Remys Kommentaren:

Es ist nicht möglich, Indy 10.5.8.0 zu installieren, ohne die Datennap in Delphi XE Update 1 zu brechen.

Andere Tipps

Installieren von Indy für Delphi XE

Ja, der Installationsprozess ist mühsam, aber es lohnt sich, es richtig zu machen.

Dies gilt für alle Indy -Komponenten mit Ausnahme von SSL. (Ich habe noch kein SSL -Sachen ausprobiert.)

EIN.) Suchen und zerstören Sie alle Indy -Dateien, die mit Delphi geliefert werden. Diese sind nicht gut, da das Indy -Projekt aktualisiert wird jeden einzelnen Tag mit neuen Fehlerbehebungen. Wenn Delphi eine der alten Dateien anstelle Ihrer neuen frischen Indy -Bibliothek aufnimmt, erhalten Sie zu allen Zeiten verrückte Fehler von der IDE, die sehr schwer zu verfolgen sind.

ich. Gehen Sie zu Komponenten-> Pakete installieren und dann alle Pakete, die mit "Indy" beginnen, vollständig entfernen.

II. Schließen Sie Delphi.

III. Löschen Sie alle Dateien, die "dcclindy*.bpl" und "indy*.bpl" aus Delphis Bin -Ordner übereinstimmen.
(C: Programme Embarcadero Rad Studio 8.0 bin)

iv. Löschen Sie alle Dateien, die "Indy*.dcu" und "id*.dcu" ^^^ in Delphis lib -Sub -Ordnern übereinstimmen.
(C: Programme Embarcadero Rad Studio 8.0 lib Win32 Debug)
(C: Programme Embarcadero Rad Studio 8.0 lib Win32 Release)
^^^ WARNUNG: Achten Sie auf nicht-indische DCUs, die mit den Buchstaben "ID" wie "idispids.dcu" und "idoc.dcu" beginnen.

v. Löschen Sie den gesamten Indy10 -Quellordner:
(C: Programme Embarcadero Rad Studio 8.0 Source indy10)

B.) Laden Sie den neuesten indy10_xxxx.zip herunter http://indy.fullgan.com/zip/(Wenn Sie einen Kompilierfehler oder einen Laufzeitfehler mit dieser ZIP-Datei für einen der folgenden Schritte erhalten-lassen Sie sich nicht entmutigen! Laden Sie die ZIP-Datei am folgenden Tag erneut herunter und versuchen Sie es erneut. Diese ZIP-Datei wird jeden Tag aktualisiert und wird aktualisiert und wird täglich aktualisiert. Es besteht die Möglichkeit, dass es an einem bestimmten Tag einige Fehler/Fehler gibt.)

C.) Extrahieren Sie nur die Ordner System-, Kern- und Protokolle in Ihren eigenen Ordner für Indy -Bibliothek. ex.
(c: mydelphicomponents indy core)
(c: mydelphicomponents indy System))
(c: mydelphicomponents indy Protokolle)

D.) Starten Sie Delphi. Ignorieren Sie alle fehlgeschlagenen Paketdialoge: Dies sind die Embarcadero -Pakete, die auf Indy beruhen! (Klicken Sie einfach auf alle Fehler auf OK und geben Sie an, dass alle fehlgeschlagenen Pakete nicht erneut geladen werden sollten.)

E.) Gehen Sie zu Optionen-> Umgebungsoptionen-> Delphi-Optionen-> Browsing Pfad-Entfernen Sie Pfade, die mit $ (BDS) lib indy10 beginnen

F.) Gehen Sie zu Optionen-> Umgebungsoptionen-> Delphi-Optionen-> Bibliothekspfad-Fügen Sie Ihr neues System-, Kern- und Protokollordner von Schritt C zum Bibliotheksweg von Delphi hinzu.

G.) Führen Sie die folgenden 5 Aktionen in der Reihenfolge aus: (Sagen Sie einfach zu allen Dialogen zum Upgrade des Projekts.)


Wichtig:

Gehen Sie nach dem Laden jedes DPK und vor jedem Build zu:

Projekt-> Optionen-> Beschreibung-> Steuerung erstellen

Setzen Sie das Optionsfeld auf "Explizite Wiederaufbau".

(Eigentlich ist das optional, aber ich mache immer Pakete explizit, weil sie so einfacher zu handhaben scheinen, aber ich würde gerne hören, was andere Leute darüber denken ...)


  1. Build - System indysystem150.dpk
  2. Build - Core indycore150.dpk
  3. Erstellen Sie zuerst, dann installieren Sie - Core dclindycore150.dpk
  4. Bauen - Protokolle indyprotocols150.dpk
  5. Erstellen Sie zuerst, dann installieren Sie - Protokolle dclindyprotocols150.dpk

** Überprüfen Sie, ob Sie "Explizite Wiederaufbau" auf allen Paketen festgelegt haben! **

H.) Gehen Sie schließlich zu Komponenten-> Pakete installieren und alle Pakete finden, die auf Indy angewiesen sind, die in Schritt D ausgeschaltet wurden. Reaktivieren Sie sie und starten Sie Delphi neu. (Wenn sich Ihr neuer Indy nicht zu sehr von dem mit Delphi veröffentlichten verändert hat, werden diese Pakete das neue Indy verwenden!)

++ Hinweis, Sie erhalten möglicherweise keine Fehler, wenn Sie diese Embarcadero -Pakete reaktivieren, aber sie können zufällige Zeiten später auftauchen. Zum Beispiel habe ich gerade Indy10_4548.zip installiert und alle reaktivierten Pakete schienen in Ordnung zu sein. Dann, einen Tag später aus heiterem Himmel, warf die IDE mir eine Nachricht, die besagte, dass GetRequestHeaders in Tidcustomhttp nicht finden könne und dass die DClwindowsazuremanagement150.bpl als Ergebnis Probleme hatten. Also musste ich zurückgehen und dieses Windows -Azure -Paket in der IDE deaktivieren.

Afaik Sie werden einige Pakete verlieren, die stark von der mit Delphi bereitgestellten Indy -Version abhängen, insbesondere der neuen Datennap.

Möglicherweise versuchen Sie, Ihre ONWN -Pakete zu erstellen, die verwendet werden sollen, anstatt Standards, die nicht neu kompilieren können, solange alle erforderlichen Einheiten verfügbar sind.

IMHO Embarcadero sollte eine Lösung über seinen eigenen Code finden, abhängig von einer "instabilen" Bibliothek wie Indy. Dies ist in einer professionellen Umgebung nicht akzeptabel, zumal sie offizielle Updates, einschließlich der Fehlerbehebungen von Indy, über einige Monate nach der Veröffentlichung hinaus nicht veröffentlichen können. Zum Beispiel habe ich in letzter Zeit festgestellt, dass Indy 10.5.5 Mail -Nachricht analysiert wird, die E -Mail -Adressen analysieren, das nicht in 10.5.8 passiert. Natürlich ist das Verhalten 10.5.5 nicht akzeptabel, ich bin gezwungen, zu aktualisieren ...

Obwohl ich Delphi Xe nicht selbst benutze, aber die Version von 2010. Mit Hilfe dieses Stapelüberlaufbeitrags konnte ich Indy -Komponenten auf die aktuellste Version aktualisieren: Schritt für Schritt Upgrade von Indy 10 in Delphi 2009

Ich weiß, dass die Frage 2009 ist (aber die Antwort deckt auch 2010), aber es hat für mich in der Version 2010 funktioniert. Ich vermute also, dass es Ihnen auch helfen wird. Ich würde empfehlen, die Kommentare zu lesen, da es dort auch einige gute Hinweise gibt. Hoffe das hilft.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top