![]() |
Shellexecute(pdf) und DBedit
Moinsen,
Habe folgendes Problem: in einer Datenbank (access) stehen in einer Spalte dateinamen (XXX.pdf) diese Dateinamen lasse ich mittels ADO,SQL in einem DBedit-feld anzeigen (natürlich nach einer Suche; es wird auch immer nur ein Datensatz angezeigt) nun rufe ich in der folgenden Procedure den AcrobatReader auf: procedure TForm1.Button2Click(Sender: TObject); begin shellexecute(application.Handle,'open','c:\beispie l.pdf',nil,nil, sw_show); end; so eingegeben klappt das auch... nur müsste statt "beispiel.pdf" dann dort der Sring stehen der im besagtem DBEdit steht. Aber irgndwie klappt das nicht. wenn ich edit.text benutze klappt es (ich will aber nicht dass der Benutzer den Dateinamen eintippen muss) Thanks a lot for your help!! Gruss Johannes |
Re: Shellexecute(pdf) und DBedit
Hai Johannes,
versuche es mal so:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var myPDF : String; begin myPDF := TDataSet.FieldByName ('feldname_des_pdf').AsString; shellexecute(application.Handle,'open',PChar (myPDF),nil,nil, sw_show); end; |
Re: Shellexecute(pdf) und DBedit
hmm
hört sich ganz ok an. nur bei mir kommt folgende Fehlermeldung: myPDF := TDataSet.FieldByName ('sz').AsString; [Error] Unit1.pas(39): This form of method call only allowed for class methods [Fatal Error] pdf.dpr(5): Could not compile used unit 'Unit1.pas' Auch liegen die PDF-Dateien in einem anderem Verzeichnis wie die Datenbank und später die Exe. in der access-tabelle stehen nur die Dateinamen und nicht der Ort Achja meine Dtenank öffne ich per Adoquery und Datasource -komponenten. gruss Johannes |
Re: Shellexecute(pdf) und DBedit
*ggg*
Hai, TDataSet musst Du durch deine von TDataSet abgeleitete Komponente (Query oder Table) erstzen. z.B:
Delphi-Quellcode:
myPDF := Query1.FieldByName ('sz').AsString;
|
Re: Shellexecute(pdf) und DBedit
:thumb:
es ist montag: :drunken: nur wie gesagt die pdf-dateien sind nicht im Verzeichnis wo später die exe-datei ist (bzw nicht in dem Verzeichnis wo der ganze quatsch(unit1,unit2,... jetzt ist) wie gesagt es ist montag und das wochenende war schön aber hart Gruss Johannes |
Re: Shellexecute(pdf) und DBedit
[quote="1tb30309...sind nicht im Verzeichnis wo später die exe-datei ...[/quote]
Aber Du weisst doch wo die PDFs sind oder? Also einfach den Pfad vor den Namen den Du aus der Tabelle liest eintragen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:33 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 by Thomas Breitkreuz