Chip, This is how we manage dragging form a listbox in one process to a listbox in another process:
1. In the source listbox: *Case of* *:* (*Form event*=On Begin Drag Over) *RESOLVE POINTER*(*Self*;tSourceObjectName;$Table;$field) *ARRAY LONGINT*($aiItemsSelected;0) $lElementPos:=*Selected list items*(CategoryList;$aiItemsSelected;*) *ARRAY TEXT*($atCategoryUUIDs;*Size of array*($aiItemsSelected)) *For* ($i;1;*Size of array*($aiItemsSelected)) *GET LIST ITEM PARAMETER*(CategoryList;$aiItemsSelected{$i};"recordnumber"; $DestCategoryUUID) $atCategoryUUIDs{$i}:=$DestCategoryUUID *End for* $tSource:="CategoryList" *SET BLOB SIZE*($blob;0) *VARIABLE TO BLOB*($tSource;$blob;*) *VARIABLE TO BLOB*($aiItemsSelected;$blob;*) *VARIABLE TO BLOB*($atCategoryUUIDs;$blob;*) *CLEAR PASTEBOARD* * APPEND DATA TO PASTEBOARD*(Text data;$blob) *End Case* 2. In the destination listbox: *Case of* *:* ($event=On Drop) *GET PASTEBOARD DATA*(Text data;$blob) $ioffset:=0 *BLOB TO VARIABLE*($blob;$var;$ioffset) *End Case* *Then deal with the data according to the content of $var ("CategoryList" in this case).* *HTH* *PB* On Mon, 12 Aug 2019 at 22:43, Douglas von Roeder via 4D_Tech < 4d_tech@lists.4d.com> wrote: > Chip: > > Here’s some ALP code that uses that command - it might give you some ideas… > > *Case of* > > *:* ($formEvent_L=On Drop) > > > *Case of* > > *:* ($currentObjectName_T="Lock_CustomerName”) > > > *C_BLOB*($blob_X) > > *GET PASTEBOARD DATA*("net.e-node.alp.object";$blob_X) > > > *If* (OK=1) > > *C_LONGINT*($eList) > > $eList:=*BLOB to longint*($blob_X;Native byte ordering) > > > *C_LONGINT*($row_L) > > $row_L:=*AL_GetAreaLongProperty* ($eList;ALP_Area_DragSrcRow) > > $text_T:=*AL_GetAreaTextProperty* ($eList;ALP_Area_Name) > > > *Case of* > > *:* ($eList=eLineItem) > > *GOTO SELECTED RECORD*([Line Items];$row_L) > > *OBJ_GPBN* ($currentObjectName_T)->:=[Line Items]Product Name > > *UNLOAD RECORD*([Line Items]) > > > *:* ($text_T="theOne_List_eList_01") > > *C_TEXT*($id_T) > > $id_T:=*AL_GetCellTextProperty* ($eList;$row_L;1;ALP_Cell_Value) > > > *OBJ_GPBN* ($currentObjectName_T)->:=*AL_GetCellTextProperty* > ($eList;$row_L;2;ALP_Cell_Value) > > *PROC_FormEvent_Set* ($h_;On Data Change) > > *PROPOSALS_FC* ($h_) > > > *End case* > > > *End if* > > > *End case* > > > *End case* > > > -- > Douglas von Roeder > 949-910-4084 > > > On Mon, Aug 12, 2019 at 2:39 PM Douglas von Roeder <dvonroe...@gmail.com> > wrote: > > > Chip: > > > > Check out the docs for “Managing Pasteboards”. I’ve used this feature > only > > with ALP but ALP uses the same drag and drop events that 4D does so there > > will be some overlap. > > > > 4 bytes could well be a longint representing the process ID where the > drag > > was initiated - that’s a WAG. The bigger payload could be a BLOB of a > fair > > amount of text or perhaps a record that was put into the clipboard when > the > > On drag sequence started. > > > > Have you checked the knowlegebase or perhaps looked in the Summit > > materials? > > > > -- > > Douglas von Roeder > > 949-910-4084 > > > > > > On Mon, Aug 12, 2019 at 2:06 PM Chip Scheide via 4D_Tech < > > 4d_tech@lists.4d.com> wrote: > > > >> I am dragging and dropping 1 or more records from 1 process onto a > >> listbox in a second process. > >> > >> I see that I can use the pasteboard to mange the data during this > >> action. > >> > >> However....(dragging 1 record) > >> I am looking at the data types returned by GET PASTEBOARD DATA TYPE > >> com.4d.private.pid & com.4d.private.Form.Object -- neither of these > >> makes much sense to me. > >> > >> By using GET PASTEBOARD DATA i get a blob which is either > >> 4 bytes (com.4d.private.pid) > >> or > >> 524 bytes (com.4d.private.object.form) > >> > >> I do not know what to do with either of these blocks of data... can > >> someone point me in the right direction. > >> > >> The drop area is allowed to accept data from 5 different tables. > >> I need to be able to differentiate which table the data is from, & > >> which record(s) were dropped. > >> > >> Once I have which ever of the above data types hand, what do I do with > >> them to extract the needed information. > >> > >> Thanks > >> Chip > >> > >> --------------- > >> Gas is for washing parts > >> Alcohol is for drinkin' > >> Nitromethane is for racing > >> ********************************************************************** > >> 4D Internet Users Group (4D iNUG) > >> Archive: http://lists.4d.com/archives.html > >> Options: https://lists.4d.com/mailman/options/4d_tech > >> Unsub: mailto:4d_tech-unsubscr...@lists.4d.com > >> ********************************************************************** > > > > > ********************************************************************** > 4D Internet Users Group (4D iNUG) > Archive: http://lists.4d.com/archives.html > Options: https://lists.4d.com/mailman/options/4d_tech > Unsub: mailto:4d_tech-unsubscr...@lists.4d.com > ********************************************************************** -- ************************************************* CatBase - Top Dog in Data Publishing tel: +44 (0) 207 118 7889 w: http://www.catbase.com skype: pat.bensky ************************************************* ********************************************************************** 4D Internet Users Group (4D iNUG) Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **********************************************************************