AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

PowerPDF Komponenten installieren...

Ein Thema von Stefanotis · begonnen am 31. Mär 2007 · letzter Beitrag vom 31. Mär 2007
Antwort Antwort
Stefanotis

Registriert seit: 8. Aug 2006
7 Beiträge
 
#1

PowerPDF Komponenten installieren...

  Alt 31. Mär 2007, 10:03
hallöchen
Ich habe vor einiger Zeit ein kleines Programm in Delphi 2006 geschrieben, das auf die PowerPDF Komponenten zugreift, die ich in meine Delühi 2006 IDE eingebunden hatte. Nun würdew ich (aus Kostengründen) gerne auf Turbo Delühi umsteigen und habe auhc schon den Turbo Delphi Explorer installiert. Nur eine Frage stellt sich mir: Wie kriege ich die PowerPDF Komponenten da hinein?!
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#2

Re: PowerPDF Komponenten installieren...

  Alt 31. Mär 2007, 10:28
Zitat von Stefanotis:
Nun würdew ich (aus Kostengründen) gerne auf Turbo Delühi umsteigen und habe auhc schon den Turbo Delphi Explorer installiert. Nur eine Frage stellt sich mir: Wie kriege ich die PowerPDF Komponenten da hinein?!
Hi,
die Frage muss man in zwei Teilen beantworten:
  1. Für Turbo Delphi Explorer - Gar nicht
  2. Für Turbo Delphi (wie auch immer ohne Explorer) - Wie unter Delphi 2006 auch

Dazu kannst Du einfach mal nach Hier im Forum suchenTurbo Delphi suchen. Da gab es Diskussionen zu den Einschränkungen, als bekannt wurde, dass CodeGear eine freie Version plant (und die Turbo Serie wiederbelebt). Eine Einschränkung haben die kostenlosen Versionen nämlich und die liegt in der IDE Integration von Komponenten. Alles andere ist (soweit ich mich korrekt erinner) erlaubt! (insbesondere also auch die Entwicklung kommerzieller Produkte).

Das Du die PowerPDF-Komponenten nicht in die IDE integrieren kannst heißt dabei aber nicht, dass Du diese nicht verwenden kannst. Die Arbeit gestaltet sich allerdings etwas umständlich als Du es vielleicht gewöhnt bist (der Aufwand hält sich aber auch in Grenzen!). Jedenfalls reicht es auch, wenn Du die Units (.pas oder .dcu Dateien) einfach in einen Ordner im Suchpfad platzierst (bzw. in den Suchpfad aufnimmst).
Hast Du dies getan, kannst Du einfach auf die Komponenten zugreifen, indem Du die entsprechende Unit in die Uses-Klausel einbindest. Willst Du nun mit einer Komponente arbeiten, so musst Du diese nun von Hand instanziieren und initialisieren. Da ich die Komponente PowerPDF nicht näher kenne, erläuter ich es einfach an einem fiktiven Beispiel.

Sagen wir Du platzierst normalerweise eine TPowerPdf-Komponente auf dem Formular. Hier stellst Du im Objekt-Inspektor die Eigenschaft PageFormat auf pfA4 um (standardmässig pfUsLetter).
Wenn Du dies tust, übernimmt Delphi ein paar Dinge für Dich, die Du nun selbst machen musst.

Da wäre zu aller erst mal das einbinden der Unit. Dazu kannst Du einfach in der Hilfe nachschauen (oder gucken, welche Unit Delphi 2006 aut. einbindet, wenn Du die Komponente platzierst).
Diese Unit fügst Du der Uses-Klausel hinzu.

Als nächstes brauchst Du eine Variable. Ist die Komponente für eine Instanz global, so erstellst Du sie einfach im private Bereich der Klasse (den Zugriff von außen solltest Du kapseln, deswegen private!). Dazu legst Du einfach wie gewohnt hier eine Variable vom Typ TPowerPdf an.

Nun muss die Komponente noch instanziiert und initialisiert werden, bevor sie verwendet werden kann. Dazu nutzt Du einfach das OnCreate-Event des Formulars. Hier erzeugst Du einfach ein neues Exemplar und setzt alle Eigenschaften (die Du sonst im OI gesetzt hättest).

Wichtig ist noch, dass Du Dich auch um die Freigabe kümmern solltest. Ist die TPowerPdf-Komponente vom Typ TComponent, so kannst Du dem Konstruktor einen Owner übergeben, der sich selbst um die Freigabe kümmert (z.B. das Formular). Gibt es keinen Owner, der im Konstruktor übergeben wird, so musst Du die Instanz mittels Free selbst frei geben (am Besten im OnDestroy-Event des Formulars).

Ganz analog würdest ohnehin vorgehen müssen, wenn Du diese Komponente in einer Klasse (ohne Formular) verwendest.

Einen wichtigen Punkt gibt es noch. Handelt es sich um eine nicht-visuelle Komponente (also so etwas wie die Dialoge), dann bist Du hier schon fertig. Verwendest Du aber eine zu Laufzeit sichtbare Komponente (wie eine Anzeige eines Pdfs), dann musst Du dem Formular noch sagen, dass es diese Komponente anzeigen soll. Dazu bietet jedes Control (sichtbare Komponente) die Eigenschaft insertControl, der Du einfach die Instanz der anzuzeigenden Komponente übergibst.
Gibst Du die Komponente selbst frei (nur nötig, wenn Du keinen Owner übergibst) und zeigst sie an, dann musst Du sie vor der Freigabe des übergeordneten Controls von dort entfernen und freigeben.

Gruß Der Unwisssende
  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 05:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz