Thanks Eric for the input. I think I have correctly made the changes you suggested but the code fails with "Unknown member oComboBox" Here is the code as I have it now:
* Procedure to add a ComboBox to the form PROCEDURE AddComboBoxToForm(toForm, nTop, nLeft, cname) LOCAL oComboBox oComboBox = CREATEOBJECT("ComboBox") oComboBox.AddItem("Item 1") oComboBox.AddItem("Item 2") toForm.oComboBox.Top = nTop toForm.oComboBox.Left = nLeft toForm.oComboBox.Visible = .T. toForm.AddObject(cname, "oComboBox")
ENDPROC For some reason I need to go to the archive to get any responses to my post so this will appear as a new thread.
Thanks again, Joe
--- StripMime Report -- processed MIME parts --- multipart/alternative text/plain (text body -- kept) text/html ---
To see if it's a scope issue, declare your variable as public, not local.
Mike Copeland
Sent from Proton Mail Android
-------- Original Message -------- On 6/17/24 6:33 PM, Joe Yoder joe@wheypower.com wrote:
Thanks Eric for the input. I think I have correctly made the changes you suggested but the code fails with "Unknown member oComboBox" Here is the code as I have it now:
- Procedure to add a ComboBox to the form
PROCEDURE AddComboBoxToForm(toForm, nTop, nLeft, cname) LOCAL oComboBox oComboBox = CREATEOBJECT("ComboBox") oComboBox.AddItem("Item 1") oComboBox.AddItem("Item 2") toForm.oComboBox.Top = nTop toForm.oComboBox.Left = nLeft toForm.oComboBox.Visible = .T. toForm.AddObject(cname, "oComboBox")
ENDPROC For some reason I need to go to the archive to get any responses to my post so this will appear as a new thread.
Thanks again, Joe
--- StripMime Report -- processed MIME parts --- multipart/alternative text/plain (text body -- kept) text/html
[excessive quoting removed by server]
You should do it differently:
toForm.AddObject(cName, "ComboBox") With toForm.&cName .AddItem(Item 1") .AddItem("Item 2") .Top = nTop .Left = nLeft .Visible = .T. Endwith
wOOdy
-----Ursprüngliche Nachricht----- Von: ProFox profox-bounces@leafe.com Im Auftrag von Joe Yoder Gesendet: Dienstag, 18. Juni 2024 02:33 An: profoxtech@leafe.com Betreff: Combobox followup
Thanks Eric for the input. I think I have correctly made the changes you suggested but the code fails with "Unknown member oComboBox" Here is the code as I have it now:
* Procedure to add a ComboBox to the form PROCEDURE AddComboBoxToForm(toForm, nTop, nLeft, cname) LOCAL oComboBox oComboBox = CREATEOBJECT("ComboBox") oComboBox.AddItem("Item 1") oComboBox.AddItem("Item 2") toForm.oComboBox.Top = nTop toForm.oComboBox.Left = nLeft toForm.oComboBox.Visible = .T. toForm.AddObject(cname, "oComboBox")
ENDPROC For some reason I need to go to the archive to get any responses to my post so this will appear as a new thread.
Thanks again, Joe
--- StripMime Report -- processed MIME parts --- multipart/alternative text/plain (text body -- kept) text/html ---
[excessive quoting removed by server]
Thanks guys! Now I can name and place Combos at will.
The next thing I would like to do is to update the ComboBox properties from the program calling the creation procedure. My first attempt was This,oComboBox1.rowsourcetype = '1 (value)' but it fails (This can only be used within a method)
i also wish for a way to see all the properties of the created object. I have read that some can only be accessed if a custom class has been defined but I don't understand why that would be the case or how to figure out what should be accessible.
Any help would be appreciated, Joe
On Tue, Jun 18, 2024 at 5:42 AM juergen@wondzinski.de wrote:
You should do it differently:
toForm.AddObject(cName, "ComboBox") With toForm.&cName .AddItem(Item 1") .AddItem("Item 2") .Top = nTop .Left = nLeft .Visible = .T. Endwith
wOOdy
-----Ursprüngliche Nachricht----- Von: ProFox profox-bounces@leafe.com Im Auftrag von Joe Yoder Gesendet: Dienstag, 18. Juni 2024 02:33 An: profoxtech@leafe.com Betreff: Combobox followup
Thanks Eric for the input. I think I have correctly made the changes you suggested but the code fails with "Unknown member oComboBox" Here is the code as I have it now:
- Procedure to add a ComboBox to the form PROCEDURE
AddComboBoxToForm(toForm, nTop, nLeft, cname) LOCAL oComboBox oComboBox = CREATEOBJECT("ComboBox") oComboBox.AddItem("Item 1") oComboBox.AddItem("Item 2") toForm.oComboBox.Top = nTop toForm.oComboBox.Left = nLeft toForm.oComboBox.Visible = .T. toForm.AddObject(cname, "oComboBox")
ENDPROC For some reason I need to go to the archive to get any responses to my post so this will appear as a new thread.
Thanks again, Joe
--- StripMime Report -- processed MIME parts --- multipart/alternative text/plain (text body -- kept) text/html
[excessive quoting removed by server]
Your function should return the object it created on the form. You will use that return value to set properties on. You can use the AMembers() function to see all the available properties and methods available. I will say my experience with COM objects the properties do not show unless you have already accessed them.
Here is something I had written some time ago testing pageframes in pageframes. I define the form adding a pageframe during the design. In the forms init, I add the second pageframe and an editbox to the pageframe. Then I add a combobox through a function to the first pageframe
Hope this gives you some ideas and directions. Tracy
oTest = CREATEOBJECT("pageframeartifact") oTest.SHOW()
oTest = .NULL. CLEAR CLASS pageframeartifact
DEFINE CLASS pageframeartifact AS FORM
WINDOWTYPE = 1 CAPTION = "Active Page 2 of both pageframes - Pull down quickly"
ADD OBJECT pgf AS PAGEFRAME WITH ; PAGECOUNT = 2, ANCHOR = 5, WIDTH = 450
PROCEDURE INIT THIS.HEIGHT = 250 THIS.WIDTH = 450 THIS.pgf.page2.ADDOBJECT("pgf", "pageframe") THIS.pgf.page2.pgf.HEIGHT = 100 THIS.pgf.page2.pgf.TOP = 116 THIS.pgf.page2.pgf.WIDTH = 450 THIS.pgf.page2.pgf.PAGECOUNT = 2 THIS.pgf.page2.pgf.ANCHOR = 14 THIS.pgf.page2.pgf.VISIBLE = .T. THIS.pgf.page2.pgf.page2.ADDOBJECT("edt", "editbox") THIS.pgf.page2.pgf.page2.edt.TOP = 10 THIS.pgf.page2.pgf.page2.edt.LEFT = 10 THIS.pgf.page2.pgf.page2.edt.WIDTH = THIS.WIDTH - 20 THIS.pgf.page2.pgf.page2.edt.HEIGHT = 60 THIS.pgf.page2.pgf.page2.edt.VISIBLE = .T.
LOCAL cmb cmb = AddComboBox("cmb", this.pgf.Page1) cmb.left = 20 cmb.top = 20
ENDPROC
ENDDEFINE
FUNCTION AddComboBox LPARAMETERS comboboxName, containerClass as Container containerClass.AddObject(comboboxName, "Combobox") containerClass.&comboboxName..Visible = .T. RETURN containerClass.&comboboxName. ENDFUNC
-----Original Message----- From: ProfoxTech [mailto:profoxtech-bounces@leafe.com] On Behalf Of Joe Yoder Sent: Tuesday, June 18, 2024 9:56 PM To: profoxtech@leafe.com Subject: Re: Combobox followup
Thanks guys! Now I can name and place Combos at will.
The next thing I would like to do is to update the ComboBox properties from the program calling the creation procedure. My first attempt was This,oComboBox1.rowsourcetype = '1 (value)' but it fails (This can only be used within a method)
i also wish for a way to see all the properties of the created object. I have read that some can only be accessed if a custom class has been defined but I don't understand why that would be the case or how to figure out what should be accessible.
Any help would be appreciated, Joe
On Tue, Jun 18, 2024 at 5:42 AM juergen@wondzinski.de wrote:
You should do it differently:
toForm.AddObject(cName, "ComboBox") With toForm.&cName .AddItem(Item 1") .AddItem("Item 2") .Top = nTop .Left = nLeft .Visible = .T. Endwith
wOOdy
-----Ursprüngliche Nachricht----- Von: ProFox profox-bounces@leafe.com Im Auftrag von Joe Yoder Gesendet: Dienstag, 18. Juni 2024 02:33 An: profoxtech@leafe.com Betreff: Combobox followup
Thanks Eric for the input. I think I have correctly made the changes you suggested but the code fails with "Unknown member oComboBox" Here is the code as I have it now:
- Procedure to add a ComboBox to the form PROCEDURE
AddComboBoxToForm(toForm, nTop, nLeft, cname) LOCAL oComboBox oComboBox = CREATEOBJECT("ComboBox") oComboBox.AddItem("Item 1") oComboBox.AddItem("Item 2") toForm.oComboBox.Top = nTop toForm.oComboBox.Left = nLeft toForm.oComboBox.Visible = .T. toForm.AddObject(cname, "oComboBox")
ENDPROC For some reason I need to go to the archive to get any responses to my post so this will appear as a new thread.
Thanks again, Joe
--- StripMime Report -- processed MIME parts --- multipart/alternative text/plain (text body -- kept) text/html
[excessive quoting removed by server]