Forum: Win32/Win64 API (native code)
Delphi
by p80286,
13. Apr 2017
Ich meine mich zu erinnern, daß Strings (abgesehen von den Shortstrings) eigentlich aufgemotze PChars sein sollen, aber da ich diesen #0Trailer nach Möglichkeit ignoriere - wofür gibt es die Länge?- gerät das immer wieder in Vergessenheit.
Warum sollte ich in einem Delphi-Programm Konstanten denn als PChar deklarieren?
Aber im Prinzip hast Du recht, da eh nur die Adresse weiter gereicht wird,...
Forum: Win32/Win64 API (native code)
Delphi
by p80286,
13. Apr 2017
OK die Null spar ich mir, aber das PAnsiChar?
falls ich dann doch einmal einen Unicodefähigen Compiler nutzen sollte, dann liegen doch wohl auch die Constanten als 16Bit Chars vor, und da sollte PAnsiChar doch eher für eine "Verkürzung sorgen?
Gruß
K-H
Forum: Win32/Win64 API (native code)
Delphi
by p80286,
13. Apr 2017
@nahpets
das +#0 ist nur um sicher zu gehen, das auch wirklich eine Null da steht, ich traue PChar da nicht so recht.
@himitsu
Nö kein anderes Programm, aber der Hinweis mit dem Typ: Danke!
Aber mal zurück gefragt, ist PChar nicht der richtige Typ wenn ich nicht weiß ob der String mit 8 oder 16 Bit Chars aufgebaut wird?
Gruß
K-H
Forum: Win32/Win64 API (native code)
Delphi
by p80286,
13. Apr 2017
Leider nicht,
das Strickmuster ist das gleiche wobei txt noch eine lokale variable ist, daß sollte tödlich sein.
und StrPas hat auch keine Besserung gebracht. Es kommt irgendein Adresskrüppel in CMStart2 an.
Gruß
K-H
Edith:
:wall: wenn man genau hinsieht erkennt man auch den Unterschied zwischen ,msg.LParam und msg.LParamLo
!!?*/!#***Codevervollständigung!
Forum: Win32/Win64 API (native code)
Delphi
by p80286,
13. Apr 2017
Da ich vor dem gleiche Problem, kapere ich den Thread einmal.
z.Zt. habe ich folgenden Code (auf das wesentliche gekürzt)
Unit1
cFILEDELETION :string= 'Deletion of Files'+#0;
cGETSOURCEFILES :string= 'get source Files'+#0;
cGETTARGETFILES :string= 'get target Files'+#0;