Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Inkompatible Typen TCaption und PAnsiChar??? (https://www.delphipraxis.net/42128-inkompatible-typen-tcaption-und-pansichar.html)

mlspider 14. Mär 2005 12:15


Inkompatible Typen TCaption und PAnsiChar???
 
Hallöchen,

folgender Schnipsel paßt meinen Compiler nicht so richtig:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  cDownStatus : cDownloadStatusCallback;
begin
 cDownStatus := cDownloadStatusCallBack.Create;
  try
   URLDownloadToFIle(nil,Edit1.Text,Edit2.Text,0,CDownStatus);
  finally
    cDownStatus.Free;
  end;
end;
TCaption und PAnsiChar müßten meiner bescheidenen Meinung nach völlig kompatibel sein. Oder liege ich hier falsch?

Matze 14. Mär 2005 12:18

Re: Inkompatible Typen TCaption und PAnsiChar???
 
Sonst einfach mittels

Delphi-Quellcode:
PChar('string')
umwandeln

mlspider 14. Mär 2005 12:20

Re: Inkompatible Typen TCaption und PAnsiChar???
 
Ich will aber eine Eingabe über Edit ermöglichen. Also kein festen String.

Matze 14. Mär 2005 12:21

Re: Inkompatible Typen TCaption und PAnsiChar???
 
Delphi-Quellcode:
PChar(Edit1.Text);
Geht das so nicht?

mlspider 14. Mär 2005 12:22

Re: Inkompatible Typen TCaption und PAnsiChar???
 
nein, leider nicht. Habe es schon probiert.

[Edit]Sorry, hatte die Klammer vergessen. Meine eigene Blödheit!!![Edit-Ende]

Delphi-Quellcode:
URLDownloadToFIle(nil,PChar(Edit1.Text),PChar(Edit2.Text),0,CDownStatus)

MathiasSimmack 14. Mär 2005 12:24

Re: Inkompatible Typen TCaption und PAnsiChar???
 
Natürlich geht das so. Sorry, wenn ich mich reinhänge, aber ich tippe auf einen Tipp- oder Schusselfehler in deinem Programm, Mario. Das Typecasting
Delphi-Quellcode:
pchar(Edit1.Text)
funktioniert zu 99% immer.

Matze 14. Mär 2005 12:24

Re: Inkompatible Typen TCaption und PAnsiChar???
 
Zitat:

Zitat von mlspider
nein, leider nicht. Habe es schon probiert.

Soll ich dir das glauben?

Delphi-Quellcode:
URLDownloadToFIle(nil, PChar(Edit1.Text), PChar(Edit2.Text), 0, nil);
geht einweandfrei.

mlspider 14. Mär 2005 12:26

Re: Inkompatible Typen TCaption und PAnsiChar???
 
Habe meinen Senf nochmals editiert. Natürlich läuft es so.

himitsu 14. Mär 2005 12:28

Re: Inkompatible Typen TCaption und PAnsiChar???
 
Zitat:

Zitat von mlspider
TCaption und PAnsiChar müßten meiner bescheidenen Meinung nach völlig kompatibel sein. Oder liege ich hier falsch?

Du hast 'ne Enterprise-Version, also liegt bei dir der SourceCode rum ... schau doch in soeinem Fall infach mal nach, wie TCaption definiert ist :zwinker:

Binärbaum 14. Mär 2005 12:44

Re: Inkompatible Typen TCaption und PAnsiChar???
 
Zitat:

Zitat von himitsu
schau doch in soeinem Fall infach mal nach, wie TCaption definiert ist :zwinker:

IMHO ist TCaption ein einfacher string oder WideString:
Delphi-Quellcode:
type TCaption = String;
//oder
type TCaption = type WideString;
MfG
Binärbaum

jfheins 14. Mär 2005 13:15

Re: Inkompatible Typen TCaption und PAnsiChar???
 
Zitat:

Der Typ TCaption wird für die Eigenschaft Caption verwendet.

Unit: Controls

Delphi-Syntax:

type TCaption = type string;

TCaption ist der String mit der Beschriftung oder dem Text eines Steuerelements.

Binärbaum 14. Mär 2005 13:38

Re: Inkompatible Typen TCaption und PAnsiChar???
 
Also kann man zusammenfassend sagen, dass TCaption ein String ist, wenn man mit der VCL arbeitet; und ein WideString, wenn man CLX verwendet.
Delphi-Quellcode:
//VCL:
type TCaption = type string;
//und für CLX:
type TCaption = type WideString;
MfG
Binärbaum

//Edit: Tippfehler ausgebessert

Robert Marquardt 14. Mär 2005 14:02

Re: Inkompatible Typen TCaption und PAnsiChar???
 
Durch das "type" auf der rechten Seite wird aber ein neuer Typ deklariert und nicht ein Typ-Alias.
Der Grund ist, das man nun an TCaption in der IDE einen anderen Property-Editor binden kann als an string.

himitsu 14. Mär 2005 14:32

Re: Inkompatible Typen TCaption und PAnsiChar???
 
Robert sagt es :?


PS: ist dieses eigentlich möglich?
Delphi-Quellcode:
Var S: String;
  C: TCaption;

C := TCaption(S);

Matze 14. Mär 2005 15:03

Re: Inkompatible Typen TCaption und PAnsiChar???
 
Zitat:

Zitat von himitsu
PS: ist dieses eigentlich möglich?

Delphi kompiliert es fehlerfrei und es funktioniert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:20 Uhr.

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