Re: Subform 64-bit problem
On May 12, 2018, at 5:18 PM, Keisuke Miyako via 4D_Tech <4d_tech@lists.4d.com> wrote: > was it ever documented that "SET ENTERABLE(False)" should also render the > object invisible? > > 64-bit version of 4D on Mac is Cocoa, as opposed to 32-bit which is Carbon. > The UI was recreated from the ground up, based on what the specification > (=documentation) dictates. > Any undocumented or serendipitous, consequential behaviour would have been > eliminated in the process. > (reason why one should not take too much advantage of undocumented behaviour) This isn’t about undocumented behavior. In 32-bit mode SET ENTERABLE and OBJECT SET ENTERABLE only set the enterable flag, not the visibility flag. In 64-bit, OBJECT SET ENTERABLE and OBJECT SET VISIBLE work as expected for objects on a form. The problem is the behavior specific to 64-bit mode in a list subform when setting object enterability during On Display Detail. In these specific conditions, OBJECT SET ENTERABLE(field;false) makes some objects invisible and enterable. > Also, 4D no longer draws pixels to create a bitmap of a list form, but rather, > requests Cocoa to update sub views of the window view hierarchy, > and lets the framework do its own optimisation to create the final result. I guess this is why OBJECT SET ENTERABLE now behaves erratically in a list subform. This is the only place in this structure where this functionality was used, so I guess it will be out with the subform and in with a listbox. Jim Crate > >> 2018/05/12 15:11、Jim Crate via 4D_Tech <4d_tech@lists.4d.com> のメール: >> >> I have a form with a list-only subform, with enterable in list checked, and >> no detail subform. Based on values in the records displayed in this subform, >> certain fields are set to be enterable or not by calling OBJECT SET >> ENTERABLE during On Display Detail. This works fine in 32-bit mode. >> >> In 64-bit mode, fields set with OBJECT SET ENTERABLE(field;false), they >> become invisible, but if you click on them, the line switches to editing >> mode, the text becomes visible and the field is actually enterable. Fields >> set with OBJECT SET ENTERABLE(field;true) display normally. >> >> This happens with 4D 16.3 HF2 and HF3 on macOS. Has anyone run into this >> before and found a workaround other than using a listbox instead? I’ve tried >> using OBJECT SET ENTERABLE during On Display Detail both in a subform field >> object method and the subform’s form method. > > > > > ** > 4D Internet Users Group (4D iNUG) > FAQ: http://lists.4d.com/faqnug.html > 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) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: Subform 64-bit problem
was it ever documented that "SET ENTERABLE(False)" should also render the object invisible? 64-bit version of 4D on Mac is Cocoa, as opposed to 32-bit which is Carbon. The UI was recreated from the ground up, based on what the specification (=documentation) dictates. Any undocumented or serendipitous, consequential behaviour would have been eliminated in the process. (reason why one should not take too much advantage of undocumented behaviour) Also, 4D no longer draws pixels to create a bitmap of a list form, but rather, requests Cocoa to update sub views of the window view hierarchy, and lets the framework do its own optimisation to create the final result. > 2018/05/12 15:11、Jim Crate via 4D_Tech <4d_tech@lists.4d.com> のメール: > > I have a form with a list-only subform, with enterable in list checked, and > no detail subform. Based on values in the records displayed in this subform, > certain fields are set to be enterable or not by calling OBJECT SET ENTERABLE > during On Display Detail. This works fine in 32-bit mode. > > In 64-bit mode, fields set with OBJECT SET ENTERABLE(field;false), they > become invisible, but if you click on them, the line switches to editing > mode, the text becomes visible and the field is actually enterable. Fields > set with OBJECT SET ENTERABLE(field;true) display normally. > > This happens with 4D 16.3 HF2 and HF3 on macOS. Has anyone run into this > before and found a workaround other than using a listbox instead? I’ve tried > using OBJECT SET ENTERABLE during On Display Detail both in a subform field > object method and the subform’s form method. ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Subform 64-bit problem
I have a form with a list-only subform, with enterable in list checked, and no detail subform. Based on values in the records displayed in this subform, certain fields are set to be enterable or not by calling OBJECT SET ENTERABLE during On Display Detail. This works fine in 32-bit mode. In 64-bit mode, fields set with OBJECT SET ENTERABLE(field;false), they become invisible, but if you click on them, the line switches to editing mode, the text becomes visible and the field is actually enterable. Fields set with OBJECT SET ENTERABLE(field;true) display normally. This happens with 4D 16.3 HF2 and HF3 on macOS. Has anyone run into this before and found a workaround other than using a listbox instead? I’ve tried using OBJECT SET ENTERABLE during On Display Detail both in a subform field object method and the subform’s form method. Jim Crate ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **