Can I remove a File Drop Combo from a form?

Totally agree with @jslarve & @KevinErskine, pass a parameter to the procedure and let the parameter value hide/unhide the required drop down list or string control.

And to be clear, dont create two procedures of the same name with different parameter datatypes (which is called Procedure Overloading [1-3] - you can see this in action in some of the ABC classes amongst other places and uses) to call one or the other procedure where one has the drop down and the other procedure has the string control.

Maintaining two different procedures like this is more work and iirc the <=6 AppGen doesnt allow it either, so in the scheme of things, you wouldnt be able to do it anyway, havent tried in the 7=> Appgen, but it would be a nice feature to have it, if it could, but I digress…

[1] rules_for_procedure_overloading.htm [Clarion Community Help]

[2] Pros and Cons of Parameter Overloading - ClarionHub

[3] Procedure overload - Business Central | Microsoft Learn

ABBrowse.INC - The 3 init methods are examples of procedure overloading.

with New Clarion Syntax Highlighting on ClarionHub!
emphasis on the 3 back ticks with no space and lower case ‘clarion’. A space before a capitalised ‘Clarion’ or all caps ‘CLARION’, doesnt work.

LocatorClass  CLASS,TYPE,MODULE('ABBROWSE.CLW'),DLL(_ABCDllMode_)
ViewManager     &ViewManager
BrowseManager   &BrowseClass
Control         SIGNED
FreeElement     ANY
NoCase          BYTE
Destruct        PROCEDURE,VIRTUAL
GetShadow       PROCEDURE,VIRTUAL,STRING
Init            PROCEDURE(SIGNED Control = 0,*? Free,BYTE NoCase = 0),VIRTUAL !,EXTENDS
Init            PROCEDURE(SIGNED Control = 0,*? Free,BYTE NoCase = 0,ViewManager VM) !,EXTENDS
Init            PROCEDURE(SIGNED Control = 0,*? Free,BYTE NoCase = 0,BrowseClass BC) !,EXTENDS
Reset           PROCEDURE,VIRTUAL               ! Synchronises locator to current entry value (where applicable)
Set             PROCEDURE,VIRTUAL               ! Starts an 'empty' locator
SetLocatorField PROCEDURE(*? Free),VIRTUAL      ! Set the FreeElement
SetAlerts       PROCEDURE(SIGNED FieldEquate),VIRTUAL
SetEnabled      PROCEDURE(BYTE B),VIRTUAL
SetShadow       PROCEDURE(STRING S),VIRTUAL
TakeAccepted    PROCEDURE,VIRTUAL,BYTE          ! 1 for locator on value required
TakeKey         PROCEDURE,VIRTUAL,BYTE          ! 1 for locator on value required
UpdateWindow    PROCEDURE,VIRTUAL
              END

without New Clarion Syntax Highlighting on ClarionHub!

LocatorClass  CLASS,TYPE,MODULE('ABBROWSE.CLW'),DLL(_ABCDllMode_)
ViewManager     &ViewManager
BrowseManager   &BrowseClass
Control         SIGNED
FreeElement     ANY
NoCase          BYTE
Destruct        PROCEDURE,VIRTUAL
GetShadow       PROCEDURE,VIRTUAL,STRING
Init            PROCEDURE(SIGNED Control = 0,*? Free,BYTE NoCase = 0),VIRTUAL !,EXTENDS
Init            PROCEDURE(SIGNED Control = 0,*? Free,BYTE NoCase = 0,ViewManager VM) !,EXTENDS
Init            PROCEDURE(SIGNED Control = 0,*? Free,BYTE NoCase = 0,BrowseClass BC) !,EXTENDS
Reset           PROCEDURE,VIRTUAL               ! Synchronises locator to current entry value (where applicable)
Set             PROCEDURE,VIRTUAL               ! Starts an 'empty' locator
SetLocatorField PROCEDURE(*? Free),VIRTUAL      ! Set the FreeElement
SetAlerts       PROCEDURE(SIGNED FieldEquate),VIRTUAL
SetEnabled      PROCEDURE(BYTE B),VIRTUAL
SetShadow       PROCEDURE(STRING S),VIRTUAL
TakeAccepted    PROCEDURE,VIRTUAL,BYTE          ! 1 for locator on value required
TakeKey         PROCEDURE,VIRTUAL,BYTE          ! 1 for locator on value required
UpdateWindow    PROCEDURE,VIRTUAL
              END
1 Like