noVa_dna Geschrieben 20. April 2002 Geschrieben 20. April 2002 Hi, ich kriege immer einen Fehler "[Fehler] Unit2.pas(76): Inkompatible Typen: 'String' und 'PChar'" was kann ich dagegen tun? Ist das so ähnlich wie bei IntToStr? thx cu
beetFreeQ Geschrieben 20. April 2002 Geschrieben 20. April 2002 Der Syntax zufolge gehe ich mal von Delphi aus... - Wo bekommst Du die meldung denn? Ein Quellcode-Ausschnitt bzw. die betroffenen Variablen/Komponenten etc wären schon hilfreich! Allgemein läßt sich aber sagen, daß ein PCahr halt nur ein Zeichen ist während ein String eine Zeichenfolge (bzw. ein Array von Zeichen) ist. Weiß aber leider grad nicht, ob und wie man da was umwandeln kann. Vielleicht kannst Du es ja mal über eine Variable vom Typ Variant versuchen...
Orffi Geschrieben 20. April 2002 Geschrieben 20. April 2002 Ich war immer der Meinung, daß PChar ein Zeiger auf ein Zeichen ist. Ich habe eben im C++Builder (obwohl PChar ursprünglich von Delphi stammt, kennt der C++Builder PChar) nachgesehen und der "behauptet" dasselbe. PChar ist also nicht ein einzelnes Zeichen, sondern ein Zeiger auf ein Zeichen. Das ist ein sehr wichtiger Unterschied. Jan
progmaker Geschrieben 24. April 2002 Geschrieben 24. April 2002 PChar in String kann man ganz leicht umwandeln. Das geht mit PChar(String). Ob's auch umgekehrt geht, weiß ich noch nicht.
MarcG Geschrieben 24. April 2002 Geschrieben 24. April 2002 PChar ist die Delphi-Version des C-Strings, also ein String geht solange bis ein #0 kommt (ASCII 0). Beim einem Delphi String steht am Anfang die Anzahl der Zeichen die der String lang ist. Um aber Win-APIs zu benutzen (oder auch C-Dlls) braucht man eben nullterminierte Strings und das sind eben PChars. Stings bei C sind übrigens keine Strings an sich sondern Arrays of Char und PChar wie man vom Namen her vermuten könnte ein Pointer auf Char also auf den ersten Char des Arrays.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden