Sto cercando di convertire qualche vecchio codice Delphi 7 a Delphi 2010Porting unicode Delphi: tipi incompatibili: errore 'Char' e 'AnsiChar' con funzioni Win32 come CharToOEM?
function AnsiToDOS(S: String): String;
begin
SetLength(Result, Length(S));
if S <> '' then begin
CharToOEM(PChar(S), PChar(Result));
end;
end;
mi vengono i "tipi incompatibili: 'Char' e 'ANSIChar'" errore alla riga:
CharToOEM (User32 esterna la funzione) in
Windows.pas unità
Posso riscrivere questa funzione AnsiToDos in qualche modo, o devo scrivere la mia propria routine CharToOEM?
La funzione [CharToOEM] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms647473 % 28v = vs.85% 29.aspx) è [Banned] (http://msdn.microsoft.com/en-us/library/bb288454.aspx) per microsoft invece utilizzare [WideCharToMultiByte] (http: // msdn. microsoft.com/en-us/library/windows/desktop/dd374130%28v=vs.85%29.aspx). – RRUZ
@RRUZ Un sacco di quelle funzioni vietate sono perfettamente ragionevoli da usare. –
@DavidHeffernan preferisco seguire le raccomandazioni MSDN (quando è possibile). – RRUZ