ich habe ein Problem mit dem HandleEvent (DragDrop) bei einem XBP-Fenster im Hybrid-Mode.
In der APPSYS habe ich zwei Fenster definiert oCrtMain und oCrtCover.
Im oCrtCover Fenster werden die Produktbilkder angezeigt, wenn ich im Artikelbrowser in den Daten blättere,
das funktioniert einwandfrei.
Bei der oCrtCover Definition habe ich :DropZone := .t. gesetzt und einen Slot HandleDragDrop() definiert.
Code: Alles auswählen
***********************
FUNCTION HandleDragDrop( aState,oData )
***********************
local nAltSel := select()
LOCAL aRet := oData:GetData( XBPCLPBRD_FILELIST )
LOCAL cShortFilename, cLongFilename, cData
LOCAL cProdId := artikel->prodid
SetAppWindow(oCrtCover)
clear
Qout("hallo")
inkey(0)
IF aRet <> NIL .AND. len(aRet) >= 1
DO CASE
CASE upper(afteratnum(".",aRet[1])) <> "JPG"
Fehler("Sie k”nnen nur Bilddateien mit der Endung 'JPG' zuweisen.",5)
CASE empty(cProdId)
Fehler("Die aktuelle Artikel-ID ist unzul„ssig !",5)
OTHERWISE
cLongFilename := aRet[1]
cShortFilename := afteratnum("\",cLongFilename)
cData := FileStr(cLongFilename)
IF StrFile(cData,cpUncCover+alltrim(cProdId)+".JPG",.t.,0) > 0
sleep(10)
select Artikel
IF r_lo()
repl ProdImPath with '/storage/emulated/0/pictures/'+alltrim(cProdId)+".jpg"
unlock
ENDIF
ELSE
Fehler("Bild kann nicht kopiert werden. (Rechte prfen) !",5)
ENDIF
ENDCASE
ENDIF
sele (nAltSel)
RETURN(XBP_DROPMODE_NONE)
Es wird auch kein Code ausgeführt. (ich hatte dort die Daten mit Qout() anzeigen wollen, um zu sehen, was ankommt)
Bin ratlos ...
Danke für Hinweise
Gruß Rudi