Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi PChar nach WideString, etwas komplizierter, brauche Hilfe. (https://www.delphipraxis.net/153471-pchar-nach-widestring-etwas-komplizierter-brauche-hilfe.html)

OrNEC 4. Aug 2010 12:38


PChar nach WideString, etwas komplizierter, brauche Hilfe.
 
Bei mir wird wie folgt ein AudioStream aufgenommen aber seit dem ich die meisten Variablen auf WideString umgewandelt habe funktioniert meine Aufnahme nicht mehr.

Delphi-Quellcode:
BASS_Encode_Start(chan, PChar('lame.exe -h - "' + RecDir + '\' + CCRDir + '\' + ChannelDir + '\' + FileName + '"'), 0, nil, 0);


Also die Variablen RecDir, CCRDir, ChannelDir, FileName sind alles WideStrings.
Hab schon alles mögliche Versucht, aber irgendwie klappt das bei mir nicht.

Hab Delphi 7PE und die TNTUnicode Controls

MarcoWarm 4. Aug 2010 12:42

AW: PChar nach WideString, etwas komplizierter, brauche Hilfe.
 
Versuch mal
Delphi-Quellcode:
BASS_Encode_Start(chan, PChar(String('lame.exe -h - "' + RecDir + '\' + CCRDir + '\' + ChannelDir + '\' + FileName + '"')), 0, nil, 0);

Bernhard Geyer 4. Aug 2010 12:43

AW: PChar nach WideString, etwas komplizierter, brauche Hilfe.
 
Evtl. so?
Delphi-Quellcode:
var
  myString: AnsiString;
begin
  ...
  myString = 'lame.exe -h - "' + RecDir + '\' + CCRDir + '\' + ChannelDir + '\' + FileName + '"'
  BASS_Encode_Start(chan, PChar(myString), 0, nil, 0);
end;

OrNEC 4. Aug 2010 12:47

AW: PChar nach WideString, etwas komplizierter, brauche Hilfe.
 
Ne das will nicht klappen.

mkinzler 4. Aug 2010 12:53

AW: PChar nach WideString, etwas komplizierter, brauche Hilfe.
 
Und das bedeutet?

OrNEC 4. Aug 2010 12:57

AW: PChar nach WideString, etwas komplizierter, brauche Hilfe.
 
Zitat:

Zitat von mkinzler (Beitrag 1039495)
Und das bedeutet?

Schuldigung, hab mich schlecht ausgedruckt, also die Umwandlung scheint ohne Fehler zu durchlaufen, aber es wird kein Signal aufgenommen.

Also so wie ich es verstehe, muss da PChar möglichst ganz weg.

himitsu 4. Aug 2010 13:04

AW: PChar nach WideString, etwas komplizierter, brauche Hilfe.
 
Wenn in diesen Strings Unicodezeichen vorhanden sind, dann werden diese bei dieser Unicode>Ansi-Umwandlung vernichtet.
(solange also BASS_Encode_Start und andere Dinge nicht auch Unicode verstehen, bringt hier Unicode/WideString nichts)

Was will BASS_Encode_Start eigentlich für einen Parameter ... PAnsiChar?

Und gibt es von dieser Prozedur/Funktion BASS_Encode_Start einen Rückgabewert (Result), welchen man auswerten könnte/söllte?

OrNEC 4. Aug 2010 13:08

AW: PChar nach WideString, etwas komplizierter, brauche Hilfe.
 
Zitat:

Zitat von himitsu (Beitrag 1039499)
Wenn in diesen Strings Unicodezeichen vorhanden sind, dann werden diese bei dieser Unicode>Ansi-Umwandlung vernichtet.
(solange also BASS_Encode_Start und andere Dinge nicht auch Unicode verstehen, bringt hier Unicode/WideString nichts)

Was will BASS_Encode_Start eigentlich für einen Parameter ... PAnsiChar?

Genau, bin auch dazu gekommen, PChar muss da weg. Ja BASS_Encode_Start will einen PAnsiChar Parameter.

Zitat:

Und gibt es von dieser Prozedur/Funktion BASS_Encode_Start einen Rückgabewert (Result), welchen man auswerten könnte/söllte?
Das habe ich aus der Hilfe:

Delphi-Quellcode:
HENCODE BASS_Encode_Start(
    DWORD handle,
    char *cmdline,
    DWORD flags,
    ENCODEPROC *proc,
    void *user
);

MarcoWarm 4. Aug 2010 13:11

AW: PChar nach WideString, etwas komplizierter, brauche Hilfe.
 
wie sieht dein Pfad denn aus? Ich meine enthält er Unicode zeichen (russische ;-) ?
Die würden dann zum Fragezeichen bei der Umwandlung und somit der Pfad ungültig.

Бог жив и имеет имя

himitsu 4. Aug 2010 13:12

AW: PChar nach WideString, etwas komplizierter, brauche Hilfe.
 
Delphi-Quellcode:
BASS_Encode_Start(chan, PAnsiChar(AnsiString(...))
Wobei PChar und String in Delphi 7 den PAnsiChar und AnsiString entsprechen.

Ich kenn BASS nicht so direkt, aber irgendwo (in 'ner Hilfe oder so) muß ja geschrieben stehen, was HENCODE für Werte annehmen kann und ob es dazu Fehlercodes o.Ä. gibt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:02 Uhr.
Seite 1 von 2  1 2      

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