Nur ganz kurz.
Ich möchte gerne hinter einer String-Variable die über Drag & Drop gefüllt wird einen weiteren String anfügen.
Es geht hier nur um einen kleinen Backslash.
Unter Delphi 7 funktioniert das so.
Delphi 7:
		                     
             Delphi-Quelltext
                        Delphi-Quelltext                    
           	 										| 1:2:
 3:
 4:
 5:
 6:
 7:
 8:
 9:
 
 | procedure TForm1.OnFileDrop1FileDrop(filename: String);begin
 if DirectoryExists(filename)then begin
 Form1.Memo1.Lines.Add('Folder: ' + extractfilename(filename) + '\');
 end else begin
 Form1.Memo1.Lines.Add('Path: ' + extractfilepath(fileName));
 Form1.Memo1.Lines.Add('File: ' + extractfilename(filename));
 end;
 end;
 | 
		
	  
Ergebnis im Memo-Feld:
		                     
             Delphi-Quelltext
                        Delphi-Quelltext                    
           	 	 
Unter Delphi 10.2 funktioniert das so aber NICHT...WARUM.... 
 
 
Delphi 10.2 Tokyo:
		                     
             Delphi-Quelltext
                        Delphi-Quelltext                    
           	 										| 1:2:
 3:
 4:
 5:
 6:
 7:
 8:
 9:
 10:
 11:
 12:
 13:
 
 | procedure TForm1.DragDrop(var Message: TWmDropFiles);var
 Filename: String;
 begin
 SetLength(Filename,2000);
 DragQueryFile(Message.Drop,0,Pchar(Filename),2000);
 if directoryexists(Filename)= true then begin
 Form1.Memo1.Lines.Add('Folder: ' + ExtractFileName(Filename) + '\');
 end else begin
 Form1.Memo1.Lines.Add('Path: ' + ExtractFilePath(Filename));
 Form1.Memo1.Lines.Add('File: ' + ExtractFileName(Filename));
 end;
 end;
 | 
		
	  
Ergebniss im Memo-Feld:
		                     
             Delphi-Quelltext
                        Delphi-Quelltext                    
           	 	 
Es ist egal, was für einen String ich anfügen möchte. Alles nach der Variable wird nicht mehr in die Memo-Zeile eingefügt.
Wenn an der Stelle von "Filename" eine andere "Random-String-Variable" steht, funktioniert das mit dem '\' hinzufügen.
Wird "Filename" in eine andere "Random-String-Variable" kopiert (Random:=Filename;) funktioniert es wiederum nicht mit dem '\' hinzufügen.
Wenn jemand eine Antwort darauf parat hat, würde ich mich über eine kurze Antwort freuen.
Mit besten Grüßen
teamrocket0