![]() |
Datei kann nicht erstellt werden
Hi zusammen
Mit meinem Programm scanne ich eine Vorlage zur Erstellung eines PDFs. Am Ende des Scannvorganges wird diese Prozedur aufgerufen:
Delphi-Quellcode:
Der Versuch, das Jpeg zu speichern, erzeugt folgende Fehlermeldung:
procedure TScanningFrame.TwainTwainAcquire(Sender: TObject; const Index: Integer;
Image: TBitmap; var Cancel: Boolean); var JpegGraphic : TJpegImage; LFileName : String; begin Edit1.Text := Image.ClassName; //Scaning ist abgeschlossen if Assigned(OnFinishedBmpScanEvent) then // OnFinishedBmpScanEvent : TFinishedBmpScanEvent OnFinishedBmpScanEvent(Sender,Image); ImgHolder.Picture.Assign(Image); JpegGraphic := TJPegImage.Create; try JPegGraphic.Assign(Image); JPegGraphic.SaveToFile('C:\PDFOfficerAppdata\PdfOfficerData\ScannedPic.jpeg)'); LFileName := 'C:\PDFOfficerAppdata\PdfOfficerData\ScannedPic.jpeg)'; FCustomCreatePDFClass.Create(Owner); FCustomCreatePDFClass.FileName := LFileName; // FCustomCreatePDFClass.OutputFile FCustomCreatePDFClass.CreatePDFCreator; finally JPegGraphic.Free; end; Zitat:
Ich änderte also den angemeckerten Pfad auf den bestehenden und löschte, nachdem ich die obige Fehlermeldung wieder erhielt, die DCUs und die Exe, um so sämtliche "Erinnerungen" Delphis auszumerzen - Pustekuchen!! Delphie meckert fröhlich weiter! Weiss jemand Rat? Gruss Delbor |
AW: Datei kann nicht erstellt werden
also ich sehe hinter
JPegGraphic.SaveToFile('C:\PDFOfficerAppdata\PdfOf ficerData\ScannedPic.jpeg)'); jpeg eine ) ... ist das richtig? Ebenso bei LFileName [OT] und warum eigentlich nicht jpg? [/OT] |
AW: Datei kann nicht erstellt werden
Zitat:
Zitat:
Es spricht nichts gegen *.jpeg Ich verwende mitunter sogar beide wenn ich eine Datei mit gleichen Namen als jpg Format abspeichern will. Er leitet es wohl von JpegGraphic ab. gruss |
AW: Datei kann nicht erstellt werden
Hi zusammen
Tatsächlich hat sich hier beim einkopieren des richtigen Pfades der Fehler mit der überzähligen Klammer eingeschlichen - der ist jetzt weg - das Resultat ist dasselbe, obwohl ich exe und DCUs wieder gelöscht habe. Diese überzähligen Klammern erklären aber nicht, wieso Delphi nach einem anderslautenden Pfad als im Code angegeben sucht. Gruss Delbor |
AW: Datei kann nicht erstellt werden
Dass es überhaupt compiled, obwohl du einen Syntaxfehler eingebaut hattest, lässt darauf schließen, dass deine Unit irgendwie gar nicht verwendet wurd, oder tatsächlich noch alte DCUs verwendet werden. Kannst du die Unit mal testweise umbenennen?
|
AW: Datei kann nicht erstellt werden
Zitat:
|
AW: Datei kann nicht erstellt werden
An TE: Versuche doch mal eine SaveFileDialog.Execute Methode zu verwenden, funktioniert es dann? (Nur mal probeweise)
|
AW: Datei kann nicht erstellt werden
Hallo,
mal einen komplett anderen Pfad nehmen. Wirklich alle dcus's suchen (SearchEverything) |
AW: Datei kann nicht erstellt werden
Zitat:
Was ist mit der Registry, Parameter(n)-Dateie(n) usw.? Vllt. ist es auch erhellend mal nach dem "falschen" Pfad/Dateistring zu suchen? Gruß K-H |
AW: Datei kann nicht erstellt werden
Lass dir den Pfad doch mal ausgeben in einer Messagebox oder so.
|
AW: Datei kann nicht erstellt werden
Hi zusammen
Zitat:
Der Ablauf sollte in etwa so sein:
Ja, ich weiss, ich hätte ja Tortoisegit installiert. Und eigentlich habe ich mich ja auf Delphi Tokio gerade wegen der GitIntegration gefreut - die Dokumentation ist recht ausführlich, und ich müsste mir nicht alles mühsam mit Google übersetzen. Nur leider ist diese Integration irgendwie nicht wirklich brauchbar (keine Branches etc). Gruss Delbor |
AW: Datei kann nicht erstellt werden
Wir verwenden git sehr excessiv. Ich benutze aber explizit nicht das git in Delphi selber. Ich möchte das getrennt haben und genau sehen was ich da mache. Delphi selber macht ab und zu auch komische Dinge mit den Dateien (dfm, dproj) und da sehe ich mit separaten Tools besser was da passiert und was wirklich dann im Repository landet.
|
AW: Datei kann nicht erstellt werden
Zitat:
|
AW: Datei kann nicht erstellt werden
Zitat:
Delphi-Quellcode:
?
FCustomCreatePDFClass:=TCustomCreatePDFClass.Create(Owner)
|
AW: Datei kann nicht erstellt werden
Zitat:
Um deine Frage zu beantworten: Wenn man davon ausgeht, dass
Delphi-Quellcode:
gegeben ist, dann müßte die Zeile korrekt
var FCustomCreatePDFClass: TCustomCreatePDFClass
Delphi-Quellcode:
lauten.
FCustomCreatePDFClass := TCustomCreatePDFClass.Create(Owner);
|
AW: Datei kann nicht erstellt werden
OK, stimmt auch wieder.
Aber über den TE macht sich doch keiner lustig. Wollte nur die Anderen draufstupsen, welche das seit duzenden Post übersehn hatten. :duck: |
AW: Datei kann nicht erstellt werden
Hi zusammen
Hier mal das Corpus Delicti: :-D
Delphi-Quellcode:
Das erzeugt keine FCustomCreatePDFClass-Instanz, sondern ruft den Constructor der Klasse auf:
try
JPegGraphic.Assign(Image); JPegGraphic.SaveToFile('C:\PDFOfficerAppdata\PdfOfficerData\ScannedPic.jpeg)'); LFileName := 'C:\PDFOfficerAppdata\PdfOfficerData\ScannedPic.jpeg)'; FCustomCreatePDFClass.Create(Owner);
Delphi-Quellcode:
Die Methode hatte auch schon mehr zu tun - ich hab das aber mal ausgelagert:
constructor TCustomCreatePDFClass.Create(AOwner: TPersistent);
begin inherited Create; end;
Delphi-Quellcode:
Im Installationsverzeichnis des PDFCreators befinden sich etliche Beispiele in diversen Programmiersprachen (nur nicht Delphi). Da ich keine dieser Sprachen wirklich kenne, gibt da noch jede Menge Fehler - der häufigste ist nach einem Create-Aufruf 'Komponente nicht registriert'.
procedure TCustomCreatePDFClass.CreatePDFCreator;
begin FPDFCreator := CoPdfCreatorObj.Create; FQueue := CoQueue.Create; FQueue.Initialize; FPDFCreator.AddFileToQueue(FFileName); if not FQueue.WaitForJob(10) then Showmessage('The print job did not reach the queue within 10 seconds') else Showmessage('Currently there are' + IntToStr(FQueue.Count) + ' job(s) in the queue'); Showmessage('Getting job instance'); FPrintJob := FQueue.NextJob; FPrintJob.SetProfileByGuid('DefaultGuid'); Showmessage('Converting under DefaultGuid conversion profile'); FPrintJob.ConvertTo(FFileName); // if (not printJob.IsFinished) or (not printJob.IsSuccessful) then // MsgBox "Could not convert the file: " & fullPath // else // MsgBox "Job finished successfully" // end if //end if // FPDFCreator.PrintFile(FFileName); // CreateComObject ; ('{9616B8B3-FE6E-4122-AC93-E46DBD571F87}' IPrintjobInfo end; Mit andern Worten: die Com-Schnittstelle des PDFCreators würde mir noch graue Haare verursachen, wenn ich nicht schon welche hätte Aber dazu mehr in einem andern Thread. Gruss Delbor |
AW: Datei kann nicht erstellt werden
Noch ein kleiner Hinweis:
Delphi-Quellcode:
try
JPegGraphic.Assign(Image); JPegGraphic.SaveToFile('C:\PDFOfficerAppdata\PdfOfficerData\ScannedPic.jpeg)'); LFileName := 'C:\PDFOfficerAppdata\PdfOfficerData\ScannedPic.jpeg)'; FCustomCreatePDFClass.Create(Owner);
Delphi-Quellcode:
Das sollte etwas unempfindlicher gegen Tipfehler sein.
try
JPegGraphic.Assign(Image); LFileName := 'C:\PDFOfficerAppdata\PdfOfficerData\ScannedPic.jpeg)'; JPegGraphic.SaveToFile(LFileName); FCustomCreatePDFClass.Create(Owner); Gruß K-H |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:42 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