This is a problem is of my own making, as the code for drag_n_drop was
moved from the host system to a component. As a result in the case of 2
or more allowed source tables, a process variable which contained a
pointer to the dropped record's source table was no longer accessible.
right now
I'll reply in more detail tomorrow, as I am at home.
> I throw the data i want dropped into an object for dragndrop. Then
> when i drop I know what iam getting as i include the table and record
> numbers. Where i dragged it from(process,form,object) are also
> included. Made my listbox drag
I throw the data i want dropped into an object for dragndrop. Then when i drop
I know what iam getting as i include the table and record numbers. Where i
dragged it from(process,form,object) are also included. Made my listbox drag an
drop so much easier to handle and very generic.
Sent from my
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
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)
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
Thanks Keisuke
This works well.
On Wed, 11 Jul 2018 02:31:13 +, Keisuke Miyako via 4D_Tech wrote:
> Hello,
>
> The 510 bytes data does not contain anything useful for you.
>
> You need to append data yourself at the drag source (append data to
> pasteboard),
> Which can be an array of
THANKS!
On Wed, 11 Jul 2018 02:31:13 +, Keisuke Miyako via 4D_Tech wrote:
> Hello,
>
> The 510 bytes data does not contain anything useful for you.
>
> You need to append data yourself at the drag source (append data to
> pasteboard),
> Which can be an array of record numbers/primary keys
Hello,
The 510 bytes data does not contain anything useful for you.
You need to append data yourself at the drag source (append data to pasteboard),
Which can be an array of record numbers/primary keys (variable to blob),
A set (boolean array from set, variable to blob),
Or anything that makes
Hi Chip,
You don't need to use sets.
Follow Keith's scheme, but without using 4D objects (which were not available
until v14.)
On Begin Drag, place the record's unique key in the text pasteboard. Or if
there's more than one record,
store a delimited list of the record keys in the text
I was/am doing this through IP sets. Same idea - (to me, a bit easier
and doable [v13]),
copy the selected set to an IP set, access the IP set on the drop side.
But I am trying to see where I can remove IP
I thought I would look at NOT using sets at all.
I seem to remember someone telling me
Hope this is on topic...
During : (Form event=On Begin Drag Over) in the source list, I put the
information about the item being dragged on the Pasteboard
LOAD RECORD([Item])
C_OBJECT($obj)
OB SET($obj;"$rec";Record number([Item]))
12 matches
Mail list logo