2016-09-30 1 views
1

je la fonction suivante dans ma configuration Inno:Inno incompatibilité de type de configuration lors de l'attribution de valeur de retour de fonction à une chaîne

function GetSerialNumber(ADelimiter: Char): string; 
var 
    I: Integer; 
begin 
    Result := ''; 
    for I := 0 to GetArrayLength(SerialEdits) - 1 do 
    Result := Result + SerialEdits[I].Text + ADelimiter; 
    if GetArrayLength(SerialEdits) > 1 then 
    begin 
    Delete(Result, Length(Result), 1); 
    end 
end; 

Dans une autre fonction ci-dessous, j'ai une variable nommée Serial: string, mais quand je fais

Serial := GetSerialNumber(''); 

Je reçois une erreur de type incompatibilité, est-ce que quelqu'un sait ce que je fais mal? Merci!

Répondre

4

Le problème n'est pas la valeur de retour, mais l'argument. Le '' n'est pas un littéral valide. Un littéral char doit contenir exactement un caractère. Le '' est un string.

Si vous souhaitez autoriser un délimiteur vide, remplacez le type d'argument par string.