24. juni 2009 - 07:44Der er
12 kommentarer og 1 løsning
Udskriv med registreret program
Jeg bruger nedenstående function til at forsøge at udskrive en .pas fil ved hjælp af Delphi. Men den går ikke, jeg får en fejl 31 - a device attached to the system is not functioning Jeg har sakset kode fra bitwise artiklen 'A DELPHI PROGRAM LAUNCHPAD' - med mods. Hvis jeg ændrer Print til Open, så åbnes filerne lige så fint.
Function FilePrint(Const aFile : String) : THandle; Type CharArray = Array[0..MAX_PATH] Of Char; Var ntFileName : CharArray; ntDir : CharArray; strPath : String; begin strPath := ExtractFilePath(aFile); Result := ShellExecute(Application.MainForm.Handle, 'Print', StrPCopy(ntFileName, aFile), Nil, StrPCopy(ntDir, strPath), SW_HIDE); End;
function FilePrint(const aFile: string): THandle; var Path: string; begin Path:= ExtractFilePath(aFile); Result := ShellExecute(0, 'Print', PChar(aFile), nil, PChar(Path), SW_HIDE); end;
procedure TForm8.FormCreate(Sender: TObject); begin if FilePrint('C:\Users\jbo.PROFDOC\Documents\RAD Studio\Projects\Unit8.pas') <> 0then ShowMessage(SysErrorMessage(GetLastError)); end;
Og hvis jeg så forsøger at lave en print option på .pas så får jeg at vide at 'cannot create file when a file with that name exists' og det giver ingen mening synes jeg ikke.
Ok, så forstår jeg bemærkningen om Delphi IDE-et. Du fik vel print til at virke med PAS og DPR-filer, og så fandt du ud, at der skulle formattering til ?
Jeg kan ikke få nogen af mulighederne til at virke. Delphi er ikke sat op til at kunne udskrive på den måde. Om den kan skal jeg lade være usagt, jeg kan i hvert fald ikke finde skruen der skal drejes.
Det gør det hvis du har filen åbnet i IDE, men det jeg vil gøre er at kalde det via noget DDE lignende fiksfaks Jeg har et program der kan tage et anatl directories i og så for hver af disse directories viser den alle de .pas .dfm og .dpr filer der er og så kan man skrive dem ud.
Hvis du gerne vil se det så kast en email.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.