Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Unterschiede bei Pchar (Delphi7 und 2010)
RoadRunner69 - Di 21.08.12 14:19
Titel: Unterschiede bei Pchar (Delphi7 und 2010)
Hallo Forum,
vielleicht steh' ich ja nur auf dem Schlauch ... aber ... habe folgende Routine geschrieben, die mir Excel mit einem File, das in s übergeben wird. Unter Delphi7 wird's problemlos compiliert, unter 2010 kommt die Fehlermeldung Inkompatible Typen: 'Char' und 'AnsiChar' in Zeile 19 ... ich kann allerdings nur Pchar entdecken oder?
Delphi-Quelltext
10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| { ... } procedure TFormMain.StartExcel(s: pchar); begin if FileExists('C:\Programme\Microsoft Office\Office12\Excel.Exe') then s := Pchar('C:\Programme\Microsoft Office\Office12\Excel.Exe ' + s) else if FileExists('C:\Programme\Microsoft Office\Office11\Excel.Exe') then s := Pchar('C:\Programme\Microsoft Office\Office11\Excel.Exe ' + s) else s := Pchar('C:\Programme\Microsoft Office\Office10\Excel.Exe ' + s);
WinExec(s, SW_shownormal); end; |
Moderiert von
Martok: Delphi-Tags hinzugefügt
Gausi - Di 21.08.12 14:31
Soweit ich weiß, sollte man WinExec seit ungefähr 300 Jahren nicht mehr benutzen, sondern ShellExecute.
Zu deiner Fehlermeldung: Unter Delphi7 war ein PChar identisch mit einem PAnsiChar. Seit Delphi2009 ist ein PChar ein PWideChar. Bei der Umstellung nach Delphi 2009 oder neueren Versionen gibt es da gelegentlich Probleme. ;-)
RoadRunner69 - Di 21.08.12 15:36
vielen dank für die schnelle antwort. dass man winexec nicht mehr benutzen sollte war mir neu. mit shellexecute hat's prima geklappt.
danke
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!