AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Fremdkomponente unter Delphi 10 Sydney
Thema durchsuchen
Ansicht
Themen-Optionen

Fremdkomponente unter Delphi 10 Sydney

Ein Thema von Delbor · begonnen am 2. Aug 2020 · letzter Beitrag vom 6. Aug 2020
Antwort Antwort
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.192 Beiträge
 
Delphi 11 Alexandria
 
#1

Fremdkomponente unter Delphi 10 Sydney

  Alt 2. Aug 2020, 14:53
Hi zusammen

Erstmal: ich versuche, eine Fremdkomponente, die ich unter Delphi Tokio und Rio verwendet hatte, unter Sydney neu zu compilieren, was aber bislang immer fehlgeschlagen ist.
Als erstes hab ich mir ein Package erzeugt:
RoasePDFSuite.jpg
Egal, was ich mache: das Package wird erzeugt und der Liste unter Komponente=>Packages installieren angezeigt und angehakt, dessen Inhalt erscheint aber nicht unter Komponenten und also auch nicht in der Palette:
Packages.jpg

Gruss
Delbor
Angehängte Grafiken
Dateityp: jpg Projectoptionen -TRoasePDFSuite.jpg (55,7 KB, 34x aufgerufen)
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.342 Beiträge
 
Delphi 12 Athens
 
#2

AW: Fremdkomponente unter Delphi 10 Sydney

  Alt 2. Aug 2020, 17:48
Delphi-Referenz durchsuchenRegisterComponents
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.192 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Fremdkomponente unter Delphi 10 Sydney

  Alt 2. Aug 2020, 19:35
Hi himitsu

Danke für deine Antwort! Genau daran habe ich auch länger gedacht - das von mir verwendete Package heisst deutlich anders als das Original, und desshalb hatte ich den Verdacht, dass die Komponenten gar nicht registriert werden. Und genau das scheint ja der Fall zu sein.

Die Registerprocdure ist in der Unit 'Pdfium.pas' so deklariert/Implementiert :
Delphi-Quellcode:
procedure Register;
begin
  RegisterComponents('PDFium', [TPdf, TPdfView]);
  RegisterPropertyEditor(TypeInfo(string), TPdf, 'FileName', TFileNameProperty);
end;
Ich ging erst davon aus, dass der erste Parameter das Package angeben würde, für das die Komponente registriert werden soll. Dagegen spricht allerdings nicht nur die Help, sondern auch TFileSearcher von DeddyH, den ich in einem Package TFileSearchSydney compiliert und gerade eben getestet habe.

Damit ist die Frage offen, wesshalb die erwarteten Komponenten in dem Package nicht vorhanden sind.
Was mir auffällt: im Source-Verzeichnis des Originals befinden sich ausser den '*.pas'-Dateien auch die *.DCU'-Files.

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch

Geändert von Delbor ( 2. Aug 2020 um 20:03 Uhr) Grund: Vervollständigt: im Source-Verzeichnis [COLOR="Red"]des Originals[/COLOR]
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.342 Beiträge
 
Delphi 12 Athens
 
#4

AW: Fremdkomponente unter Delphi 10 Sydney

  Alt 2. Aug 2020, 20:03
procedure Register; im Interface gibt es auch?

Du könntest natürlich auch anfangen die IDE und dein Package zu debuggen,
aber für den Anfang reicht auch je ein ShowMessage in Register und in Initialization.


Der erste Parameter ist einfach nur irgendein "Name" Caption, welcher die Gruppe in Komponentenliste angeibt.



Die DCUs helfen dir eh nichts, da die ja vom Compiler abhängen und nur in der einen Version funktionieren.
Aber es sind sowieso nur die Kompilate der PAS.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 2. Aug 2020 um 20:09 Uhr)
  Mit Zitat antworten Zitat
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.192 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Fremdkomponente unter Delphi 10 Sydney

  Alt 2. Aug 2020, 21:40
Hi Himitsu
procedure Register; im Interface gibt es auch?
Ja, ist vorhanden.

Du könntest natürlich auch anfangen die IDE und dein Package zu debuggen,
aber für den Anfang reicht auch je ein ShowMessage in Register und in Initialization.
Showmessage? Wie den? Zum Beispiel? Initialisation von was? Des Package?

Über compilieren und anderes von Packages hab ich einiges gefunden, habe bislang aber nichts über Komponenten debuggen gesucht.

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.342 Beiträge
 
Delphi 12 Athens
 
#6

AW: Fremdkomponente unter Delphi 10 Sydney

  Alt 2. Aug 2020, 22:23
Zitat:
Showmessage? Wie den? Zum Beispiel? Initialisation von was? Des Package?
Bei Packages hast du die Main-Prozedur nicht, wie in der DPR von EXE oder DLL.
Aber egal von welcher Unit (Hauptdache die ist in dem Package) kannst die als "Wurde Package geladen"-Message benutzen.

Und in Register die MessageBox sagt dir "Package wurde geladen und die Registrierung ausgeführt"
Wenn das "Register fehlt" dann kann nichs werden
und wenn die Initialisation fehlt, dann wurde "dieses" Package nicht geladen.

z.B. wenn irgendwo alte Units/DCUs oder Packages gefunden werden (Suchpfade) und dann nicht das geladen wird, was du willst.


DLLs und Packages kann man ja nicht direkt ausführen,
und braucht dafür eine Anwendung wo es drin läuft.

Entweder man startet diese Anwendung, oder man hat grade den Quellcode der DLL/BPL auf und sagt womit das passieren soll.
Menü > Start > Parameter... > Debugger > Hostanwendung

Da kann man auch die IDE selbst angeben. > C:\Program Files (x86)\Embarcadero\Studio\21.0\bin\bds.exe
Somit wird Delphi nochmal gestartet und diese Instanz lässt sich dann debuggen ... z.B. das Create seiner Klasse, wenn man die auf eine Form pappt
oder hier über einen Haltepunkt z.B. im Register.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz