Einzelnen Beitrag anzeigen

thestallion90

Registriert seit: 10. Aug 2008
22 Beiträge
 
Delphi XE Starter
 
#145

AW: TMSWebUpdate - eine neue WebUpdate-Komponente

  Alt 27. Jun 2011, 00:39
WHOOOO!

*räusper*

Habs hinbekommen. Der Name des Packages in der requires-Klausel war falsch. Habe mal per windows-Suche nach einem der anderen Packages, die standardmäßig in der requires klausel stehen (in meinem fall "designide") gesucht und die Datei "designide.dcp" gefunden. Daraufhin habe ich im selben Ordner der gefundenen Datei (designide.dcp) nach etwas Indy-ähnlichem Gesucht und die Dateien "indycore.dcp" und "indyprotocols.dcp" gefunden. Wenn ich die qequires-Klausel um diese beiden Packages erweitere (natürlich ohne die Dateiendung) läuft alles wie geschmiert.

Lösungsweg für die korrekte Installation der WebUpdateKomponente. Für alle, die das gleiche Problem haben, also die Update Komponente mit den anderen Indy Komponenten verträglich machen wollen:

1. Package erstellen:
In Delphi auf "Datei/Neu/Package" gehen. Dann passiert erstmal herzlich wenig, es öffnet sich keine Form oder sonstiges. Einfach direkt im Anschluss auf "Datei/Projekt speichern". Am besten dafür einen neuen Ordner anlegen (wegen der Übersichtlichkeit), ich habe das Package "WebUpdateKomponenteEigen" genannt. In dem Ordner sollte dann die Projektdatei (dpr) und die Package-Datei (dpk) liegen.

2. Komponente aus der gelieferten unit installieren
In Delphi auf "Komponente/Komponente installieren" gehen. Dann die Unit "WebUpdate.pas" auswählen. Im nächsten Schritt dann Option "in vorhandenes Package installieren" anwählen und zu dem gerade eben abgespeicherten Package (WebUpdateKomponenteEigen.dpk) navigieren. Normalerweise sagt Delphi dann etwas wie: "Die Komponente wurde erfolgreich installiert".

3. Package bearbeiten, sodass die eben installierte Komponente mit den Indy-Komponenten verträglich ist.
In Delphi auf "Datei/Öffnen" und zu der eben angelegten Projektdatei navigieren. In meinem Fall "WebUpdateKomponenteEigen.dpr". Wahrscheinlich öffnet sich dann wieder nichts erkennbares, das ist aber in Ordnung. In Delphi XE (ich weiß nicht, ab welcher Version diese Funktion verfügbar ist) ist oben ganz links ein Button in der Menüleiste, der eine Übersicht aller Units, die dem Projekt angehören, öffnet. Wenn man diese Übersicht öffnet müsste die Datei "WebUpdate.pas" als einzige in dieser Liste stehen, weil wir sie ja eben in das vorher noch leere Package installiert haben.
Über "Projekt/Quelltext anzeigen" erreicht man den Quellcode des Packages/Projektes. Hier muss jetzt die requires-Klausel um zwei Packages ergänzt werden (zwei, weil ich nicht genau weiß welches der beiden relevant ist):

Delphi-Quellcode:
package WebUpdateKomponenteEigen;

{$R *.res}
{$ALIGN 8}
{$ASSERTIONS ON}

{...}

requires
  rtl,
  designide,
  vcl,
  vclactnband,
  vclx,
  xmlrtl,
  indycore, //<--muss ergänzt werden
  indyprotocols; //<--muss ergänzt werden

contains
  WebUpdate in '..\tmswebupdate_v1.10.1_174\WebUpdate.pas';

end.
Wenn ihr das Package so speichert, sollte die Komponente ab sofort problemlos zusammen mit anderen Indy-Komponenten auf die Form zu ziehen sein.


Danke an mkinzler für seine Unterstützung!

Geändert von thestallion90 (27. Jun 2011 um 01:15 Uhr)
  Mit Zitat antworten Zitat