AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Shellexecute richtig anwenden/übersetzen
Thema durchsuchen
Ansicht
Themen-Optionen

Shellexecute richtig anwenden/übersetzen

Ein Thema von Delbor · begonnen am 15. Okt 2018 · letzter Beitrag vom 17. Okt 2018
 
Delbor

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

AW: Shellexecute richtig anwenden/übersetzen

  Alt 16. Okt 2018, 22:03
Hi zusammen

Die Prozedur von Kodezwerg macht keinerlei Probleme - dafür sorgt meine:
Delphi-Quellcode:
procedure TPDFCreatorFrame.ImageToPDF;
  var job : IPrintjob;
      jobinfo : IPrintJobInfo;
      PDFQueue : TQueue;
      LOutput : IOutputFiles;
begin
  PDFQueue := TQueue.Create(Self);
  try
    Showmessage('procedure TPDFCreatorFrame.ImageToPDF: Der Wert von FFilename ist: '+' "'+ FFilename + '" ');
// FFilename ist: 'C:\PDFOfficerAppdata\PdfOfficerData\ScannedPic.jpeg';
    PDFQueue.Initialize; // Initializing PDFCreator queue...
    ExecuteShell('RUNDLL32.exe', 'PRINTUI.DLL,PrintUIEntry /k /n "PDFCreator"', True);
    Showmessage('Setting up target path to: ' + Self.FFileName);
    Showmessage('Printing one windows test page...');
    if not PDFQueue.WaitForJob(10)then
      Showmessage('The print job did not reach the queue within ' + IntToStr(10) + ' seconds')
    else
      Showmessage('Currently there are ' + IntToStr(PDFQueue.Count) + ' job(s) in the queue');
    Showmessage('Getting job instance');
    job := PDFQueue.NextJob;

    jobinfo := job.PrintJobInfo;
    ShowMessage('jobinfo.PrintJobName := ' + jobinfo.PrintJobName); //<== Printjobname ist 'Testseite'
    job.SetProfileByGuid('DefaultGuid');
    Showmessage('Converting under \"DefaultGuid\" conversion profile');
    job.ConvertTo(FFileName);
    if not job.IsSuccessful and not job.IsFinished then
      Showmessage('Could not convert the file: ' + FFileName)
    else
      Showmessage('Job finished successfully');
    PDFQueue.ReleaseCom;
  finally
    PDFQueue.Free;
  end;
end;
Die Prozedure wird aufgerufen, wenn der Scanvorgang beendet ist, das gescannte Bild in Jpeg verwandelt und gespeichert ist. Von daher kommt der Wert von FFilename.
Stelle ichnur auf diesen Code ab, muss ich annehmen, dass PDFQueue bei der Initialisierung den Pfad erhält. Laut dem Beispieöcode ist das aber nicht der Fall:
Delphi-Quellcode:
var objFSO = new ActiveXObject("Scripting.FileSystemObject");
var objShell = new ActiveXObject("Shell.Application");

var Scriptname = objFSO.GetFileName(WScript.ScriptFullname);

if (WScript.Version < 5.6)
{
WScript.Echo("You need the \"Windows Scripting Host version 5.6\" or greater!");
WScript.Quit();
}


try
{
var PDFCreatorQueue = new ActiveXObject("PDFCreator.JobQueue");

WScript.Echo("Initializing PDFCreator queue...");
PDFCreatorQueue.Initialize();

{ hier ermittelt das Script den Pfad und übergibt den Pfad an das Objekt objFSO   -  gibts bei mir nicht}

 var fullPath = objFSO.GetParentFolderName(WScript.ScriptFullname) + "\\TestPage.jpg"; // Hier der Pfad zur Testseite
WScript.Echo("Setting up target path to: " + fullPath);
{Allerdings steht hier der Pfad erstmal in der Variablen "fullpath".  Wenn ich das richtig lese (und verstanden habe),führt Shellexecute in den folgenden Zeilen}
{Rundll32 aus, und diese PrintUI.DLL unter Angabe des Einsprungpunktes  -  von der Übergabe eines Dateinamens seh ich hier nichts} 
WScript.Echo("Printing windows test page...");
 objShell.ShellExecute("RUNDLL32.exe", "PRINTUI.DLL,PrintUIEntry /k /n \"PDFCreator\"", "", "open", 1);
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
 


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 22:52 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