tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
316
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    DrMueller DrMueller ist offline Mitglied Brokat
    Registriert seit
    Aug 2006
    Beiträge
    396
    Hi Leute,
    mal wieder eine Frage an die Profis, aber zuerst vielleicht das Problem:
    Wir benutzen das Tool SharpGrid um Dateien aufzulisten.
    Der Benutzer kann diese von dieser Auflistung irgendwo hinziehen und die entsprechenden Dateien werden an diesem Ort dann gespeichert.
    Um dies zu bewerkstelligen arbeiten wir mit zwei Events:

    Code :
    1
    
    Private Sub myFileGrid_OLEStartDrag(ByVal data As DataObject, AllowedEffects As Long)
    resp.
    Code :
    1
    
    Private Sub myFileGrid_OLESetData(ByVal data As DataObject, DataFormat As Integer)

    Der Ablauf ist relativ simpel:
    Bei SetData suchen wir die Dateien auf dem Server und erstellen eine lokale Kopie. Der Pfad zu dieser Kopie wird dann entsprechend in das DataObject eingefügt und mitgegeben.


    Nun das Problem: Dieses "Dateien vom Server ziehen" kann etwas dauern, wenn also der Benutzer eine grosse Datei rauszieht und dann nicht genau an dieser Stelle wartet, wird der Destionationpath wohl während des Abhol-Vorgangs gelöscht resp. neu gesetzt.
    Am einfachsten wäre daher, direkt am Anfang den DestPath zu speichern und dieser dann dem OleObjekt mitzugeben. Aber mit SharpGrid habe ich nur 4 OLE-Events zur Verfügung:

    OLESetData
    OLEStartDrag
    OLEDragDrop
    OLEDragOver

    wobei die letzten beiden wohl nichts mit dem Problem zu tun haben.


    Daher meine Frage: Gibt es eine Möglichkeit den Destinationpath zu ermitteln resp. diesen den Ole-Objekten mitzugeben?




    Wie immer danke im Voraus und einen guten Start in die Woche.
     

  2. #2
    ronaldh ronaldh ist offline Mitglied Brillant
    Registriert seit
    Apr 2007
    Ort
    Hannover
    Beiträge
    912
    Hallo DrMueller,

    ich kenne das Tool nicht, von daher kann ich natürlich keine getestete Lösung anbieten.

    Jedoch würde ich mal versuchen, ob die DragOver oder DragDrop Events vor dem eigentlichen Kopiervorgang ausgelöst werden. Jedoch hast Du da auch nicht gesagt, welche Parameter diese Events mitgeben.

    Grüsse
    ronaldh
     
    Nur tote Fische schwimmen mit dem Strom.

  3. #3
    DrMueller DrMueller ist offline Mitglied Brokat
    Registriert seit
    Aug 2006
    Beiträge
    396
    Hi Ronald,
    die anderen Events sind insofern nicht relevant, dass sie weder beim Anklicken noch beim Dragen oder sonst wo aktiviert werden. Daher nehme ich an, dass diese unwichtig sind. Wollte sie nur der Komplettheit halber mitnennen.

    Es sind leider meine ersten Erfahrungen mit OLE-Objekten, aber verhalten sich diese nicht immer gleich, egal welches Control diese jetzt aufruft? Dann wäre es ja mehr oder weniger egal, ob ich jetzt ein Grid oder ein anderes Control benutze.

    Edith sagt: Was mich etwas irritiert: Wir übergeben beim DatObject den temporären Pfad, also wo die Datei physikalisch abgelegt ist. Wenn ich die Datei aber auf den Destkop ziehe, wird diese ja vom Temp-Ordner dorthin gezogen, irgendwo muss also dieser Pfad trotzdem sein. Oder wird dieses zweite Kopieren nur Windows-itern gemacht und kann gar nicht von uns zugegriffen werden?
    Geändert von DrMueller (25.05.10 um 10:48 Uhr)
     

Ähnliche Themen

  1. id von <td> rausfinden durch name
    Von Astror Enales im Forum PHP
    Antworten: 2
    Letzter Beitrag: 09.12.06, 15:07
  2. [LUA in C++] Parameteranzahl rausfinden?
    Von ProfEich im Forum C/C++
    Antworten: 0
    Letzter Beitrag: 19.05.06, 10:40
  3. Wo rausfinden, wo der Cursor ist
    Von Thopeto im Forum VisualStudio & MFC
    Antworten: 4
    Letzter Beitrag: 03.04.05, 18:19
  4. MAC-Addresse rausfinden
    Von Sirakov im Forum Java
    Antworten: 2
    Letzter Beitrag: 24.02.05, 00:02
  5. IP rausfinden
    Von marckamber im Forum Internet, DSL & Flatrate
    Antworten: 13
    Letzter Beitrag: 06.10.04, 12:16