AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

unit von Delphi 2005 nach RIO

Ein Thema von dpKlaus · begonnen am 1. Nov 2020 · letzter Beitrag vom 3. Nov 2020
 
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.059 Beiträge
 
Delphi 12 Athens
 
#2

AW: unit von Delphi 2005 nach RIO

  Alt 1. Nov 2020, 09:06
Hallo und willkommen!

Die erste Zeile, die auskommentiert ist, ist korrekt:
Delphi-Quellcode:
if not OpenPrinter(PChar(DeviceName), hPrinter, nil) then
begin
Alternativ ginge es auch so:
Delphi-Quellcode:
if not OpenPrinter(@DeviceName[1], hPrinter, nil) then
begin
Hintergrund ist, dass DeviceName ein Pointer auf den String mit dem Druckernamen ist. Wenn du nun einen Pointer auf DeviceName nimmst, hast du die Adresse des Pointers auf den Druckernamen. Du musst aber die Adresse des Druckernamens übergeben. Deshalb kannst du den Pointer auf das erste Zeichen übergeben.

Es geht daher auch so:
Delphi-Quellcode:
if not OpenPrinter(Pointer(DeviceName), hPrinter, nil) then
begin
Am sinnvollsten ist aber die erste Variante mit dem Cast auf PChar, weil man dann direkt sieht was gemeint ist.
Sebastian Jänicke
AppCentral
  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 16:28 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