TPrinterSetupDialog in DLL

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
Verdi
Beiträge: 7
Registriert: So 1. Jan 2012, 12:42

TPrinterSetupDialog in DLL

Beitrag von Verdi »

Hallo

Ich bin neu in diesem Forum und wünsche allen Teilnehmern nur das Allerbeste für das neue Jahr.

Schon gleich zu Beginn des neuen Jahres habe ich folgende Frage:

Ich möchte gerne mit Lazarus eine DLL erstellen (schon gemacht und läuft) und in der DLL TPrinterSetupDialog aufrufen. Die Routine soll dann den gewählten Drucker zurückgeben.
In der Uses - Liste habe ich demzufolge "Printers" und "PrintersDlg" aufgenommen.

Beim Compilieren wird folgender Fehler ausgegeben:
TDSLib.lpr(1,1) Fatal: Unit "PrintersDlgs" searched but "Printers" found
"Printers" alleine führt zu keinem Fehler. Kommt noch "PrintersDlgs" dazu, entsteht die Fehlermeldung.

Kann mir jemand erklären was zu tun ist, dass der Compiler zufrieden ist?

Vielen Dank und herzliche Grüsse aus der Schweiz
Verdi

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: TPrinterSetupDialog in DLL

Beitrag von MAC »

Hallo. Willkommen hier im Forum.
Ich habe es einmal folgendermaßen versucht.

Code: Alles auswählen

library Project1;
 
{$mode objfpc}{$H+}
 
uses
  Classes,Interfaces, // this includes the LCL widgetset
  Forms, printer4lazarus
  ,SysUtils, FileUtil, PrintersDlgs, Controls, Graphics, Dialogs,StdCtrls;
 
 
var
   x:TPrinterSetupDialog;
begin
x := TPrinterSetupDialog.Create;
x.Execute;
 
end.


Beim kompilieren mekert er schonmal nicht, getestet hab ich die .dll aber nicht.
Was der Fehler sein könnte:
Sobalt man bei einem Normalen Programm ein PrinterDialog auf die Form zieht , wird einerseits in die uses von deiner "unit1" "PrintersDlgs" hinzugefügt.
Es wird aber auch gleichzeitig in deine .lpi (die projektdatei) die unit "printer4lazarus" hinzugefügt.
Ich habe hier mal beide units in die Bibliothek gepackt.

Code: Alles auswählen

Signatur := nil;

Verdi
Beiträge: 7
Registriert: So 1. Jan 2012, 12:42

Re: TPrinterSetupDialog in DLL

Beitrag von Verdi »

Vielen Dank für die schnelle Antwort.
Nachdem ich die Unit "Printers4Lazarus" in der Uses Liste aufgenommen hatte, entstand die Fehlermeldung nicht mehr. Das Problem ist also gelöst.
Vielen Dank für den Hinweis.
Herzliche Grüsse
Verdi

Antworten