Einzelnen Beitrag anzeigen

Benutzerbild von wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#1

VST / Drag and Drop Component Suite

  Alt 31. Aug 2010, 19:34
Hi Forum.

Ich hab da ein Problem an dem ich verzweifel. Ihr seid meine letzte Hoffnung..
Also, gegeben ist ein Programm mit eigener Ableitung von VirtualStringTree und den Drag and Drop Komponenten (von hier). Ich möchte gerne Dateien in den Explorer ziehen, das mache ich im abgeleiteten Baum im überschriebenen DoDragging() folgendermaßen:

Delphi-Quellcode:
procedure TMFileTree.DoDragging(P: TPoint);
var
  i: Integer;
  Entries: TFileDataArray;
begin
  if FDragSource.DragInProgress then
    Exit;

  FDragSource.Files.Clear;
  Entries := GetSelected;
  for i := 0 to Length(Entries) - 1 do
    FDragSource.Files.Add(Entries[i].Filename);

  if FDragSource.Files.Count = 0 then
    Exit;

  DoStateChange([], [tsOLEDragPending, tsOLEDragging, tsClearPending]);
  FDragSource.Execute(True);
end;
Funktioniert auch blendend. Ich benutze die Drag und Drop Komponenten, weil ich gerne asynchron Draggen möchte. Und jetzt zu dem für mich unerklärlichen Phänomen.

Wenn ich das Programm auf einem anderen Rechner laufen lasse (Beide Rechner sind Win7 x64) kommt es zu Problemen. Sobald ich die Drag&Drop Aktion starte, bekomme ich die schöne Meldung "Thread-Fehler: Das Handle ist ungültig (6)" und das wars mit Draggen. Das interessante ist jetzt aber folgendes (war auch ein schöner Zufall, dass ich das gemerkt habe):
Starte ich das Programm von irgendeinem Pfad aus (exe hinkopieren, doppelklicken), der nicht "C:\Programme (x86)\" oder ein Unterverzeichnis davon ist, funktioniert alles blendend. Wohnt das Programm in "C:\Programme (x86)\", kommt es zu besagtem Fehler.
Eine weitere Merkwürdigkeit ist, dass, wenn ich das Programm aus dem Programme-Ordner heraus als Administrator starte (Rechtsklick->Als Administrator ausführen), auch alles gut funktioniert...

Hat da irgendjemand vielleicht einen Hinweis oder einen Denkanstoß? Vielen dank im vorraus und erstmal noch einen schönen Abend
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"
  Mit Zitat antworten Zitat