By-passing compile time object exists check

Posted on 2006-11-23
Last Modified: 2010-04-23
Hey guys, hope someone can help me fairly urgently. I am writng code that will be re-used in various differing applications and basically I want whoever ends up developing software to be able to decide which information to have on their form.
I am simplyfying things by creating some code we can reuse, in this code I am making it write to an object on the form (a series of text boxes) of which some may not exist. I want to be able to skip the VB code-checking facility so that I can compile and run the code and just have an error checker that supresses when data is sent to an object that doesn't exist.

So, to re-word that a bit, I have say 20 pieces of data, when i call a function from my class file I want it to take a reference, look through an object I have already created, locate the record and attempt to write the data to 20 text boxes, whether the developer has put them on the form or not. If they don't appear on the form then I want the code to siply go to the next piece in the record and attempt to move that to a text box.

We all know VB throws a strop and says that if text1 doesn't exist on form1 it wont compile...I wanna supress this and then write code that supresses it at run-time.

Hope soemone can help!

PS: I can't change my object that I access the data out of or the way I do that, i can just access it for read or write and I want to do the middle add-in between a form calling one of a small set of methods and the actual code writting out and in upto a hundred pieces of data per record (and some other data manipulation)

Oh, and if someone could tell me what the 'return' line is in code (i.e., insert 'new line' in a string' that would really rock too!)
Question by:kiranboi
  • 3
  • 2
  • 2
  • +1
LVL 39

Assisted Solution

appari earned 75 total points
ID: 18006136
>>I want to be able to skip the VB code-checking facility
i think it is not possible, if you can post existing code and what you were trying to achieve we can try to do it in an alternative way.

>>tell me what the 'return' line is in code
use vbCrlf, as follows

dim testString as string = "insert " & vbcrlf & " in a string "

Expert Comment

ID: 18006622
Surely something like iterating all available controls of type Textbox on the form would be a better approach?

Author Comment

ID: 18006710
I couldn't do that plenderj because I do not know which textboxes the programmer will eventually use nor in what order and so i will end up with text boxes with the wrong data in and some of the data is going in combo boxes, checkboxes etc.
I wondered if for the purposes of 'building' that there may be a way to remove all the debugger stuff and force a build with the errors in?
hope there is a way, else I'm writting things in a completely new way lol

Assisted Solution

plenderj earned 200 total points
ID: 18006783
Well two ideas:

1) Change your code such that your procedure takes a list of parameters of type Textbox, which are the textboxes the developer wants you to put the data into. You can reference these textbox parameters in the body of your method. I recommend using this option


2) Try using the code from this page below. You can still hardcode the names of the textboxes (which you shouldn't be doing btw!!!!) and just reference them as follows:
Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

LVL 34

Accepted Solution

Sancler earned 225 total points
ID: 18006792
I'm far from sure that I've understood the setup here.  But try this

One form, one button, this code

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If TextBox1 Is Nothing Then
            TextBox1.Text = "doh"
        End If
    End Sub

For me it complies and runs, no errors or warnings.  Now drag a textbox onto the form - leaving its default name of TextBox1.  For me, that complies and runs too, with the right result in the textbox.


Expert Comment

ID: 18006830
I believe that would only work if you explicitly set Option Explicit Off
LVL 34

Expert Comment

ID: 18007021
plenderj.  Correct.  Sorry, I took that "as read", but you're probably right to make it explicit.


Author Comment

ID: 18011602
OK, thanks guys for all your help - going to get admin to split the points.

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
Object to array 7 28
Open a folder with partial name 14 29
Limiting string to two deciamls 18 34
Format column on datatable 7 17
This tutorial demonstrates one way to create an application that runs without any Forms but still has a GUI presence via an Icon in the System Tray. The magic lies in Inheriting from the ApplicationContext Class and passing that to Application.Ru…
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now