Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi chr Funktion in Delphi 2009 (https://www.delphipraxis.net/151693-chr-funktion-delphi-2009-a.html)

roadrunner-S51 31. Mai 2010 11:30

Re: chr Funktion in Delphi 2009
 
Hab meinen PC mal neu gestartet und nun klappts auch mit der Kompilierung. Hatte sicher noch irgendwelchen Datenmüll im Speicher...

So, nun passt alles! :party:
Delphi-Quellcode:
H:=CreateFile(PChar(String(UsedComm)),
    GENERIC_READ or GENERIC_WRITE,
    0,
    nil,
    OPEN_EXISTING,
    FILE_ATTRIBUTE_NORMAL or FILE_FLAG_OVERLAPPED,
    0);
Das @ und die Angabe des Feldelementes waren irgendwie störend.

@Neutral General: Dankeschön!!!

himitsu 31. Mai 2010 11:52

Re: chr Funktion in Delphi 2009
 
ich weiß nicht wie oft ich das schon runterprädige:
Keine Ansi/Wide/dynamischen Varianten mischen!

CreateFile + PChar (Char / String) - diese sind seit Delphi 2009 Unicode und davor Ansi
CreateFileA + PAnsiChar (AnsiChar / AnsiString)
CreateFileW + PWideChar (WideChar / WideString / UnicodeString)

roadrunner-S51 31. Mai 2010 12:23

Re: chr Funktion in Delphi 2009
 
Das ist schon richtig, aber manchmal nicht so einfach, wenn man 10 Jahre alten Code hat (schlecht kommentiert), der plötzlich in Delphi 2009 und mit anderer Pheriperie funktionieren soll. Da ist man dann irgedwie doch mal bereit, auch "Umwege" in Kauf zu nehmen.

himitsu 31. Mai 2010 12:32

Re: chr Funktion in Delphi 2009
 
Wenn UsedComm als AnsiString/AnsiArray vorliegt, dann

Delphi-Quellcode:
CreateFileW(PWideChar(WideString(UsedComm)), ...
(AnsiString >> WideString > PWideChar > CreateFileW)

oder einfach nur
Delphi-Quellcode:
CreateFileA(@UsedComm[0], ...
(AnsiChar-Array > PAnsiChar > CreateFileA)

Durch die Umwandlung nach Unicode gewinnt man eh keine zusätzlichen Informationen.

roadrunner-S51 1. Jun 2010 06:14

Re: chr Funktion in Delphi 2009
 
Danke! Das werde ich mir für das nächste Mal merken. Wie ich den Code der Programme hier kenne, wird das eher früher als später sein...


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:09 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz