473,763 Members | 1,356 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Using UITypeEditors with extended properties

Hi,

I have a component which exposes an extended property. I want to edit this
property using a UITypeEditor. The problem is that when the designer raises
my UITypeEditor sends a reference of the component it's being edited (a
TextBox for example) but not of my component.
How can I receive a reference of the component that owns the extended
property?

Thanks a lot,
Mario Vázquez
Nov 23 '05 #1
9 2418
Hi Mario,

That's a challenging problem and I am not sure about the need for this but
if you really need it you can try the following, not tested, just using the
debugger in my head ;-)

- Your class that inherits from UITypeEditor must override all the
overloaded methods EditValue, GetEditStyle, etc.

- Notice that each method has an overloaded variant which receives a context
(ITypeDescripto rContext). When these methods are called, store in a class
variable the following, to be used also when the other variant without the
context is called:

- The ITypeDescriptor Context.Propert yDescriptor property gives you the
property descriptor, which for an extended property like yours should be a
System.Componen tModel.Extended PropertyDescrip tor, so cast it to this type.

- The ExtendedPropert yDescriptor class has 2 overloaded constructors: one
that receives the provider of the property (IExtenderProvi der), which I
suppose that is an instance of your provider component. The other overloaded
constructor does not receive this parameter, though.

- The ExtendedPropert yDescriptor class does not expose the provider that it
stores when received through the constructor, but using Reflection, you can
retrieve the value of the field (the debugger of VS.NET 2002/2003 shows
private fields, so you can guess if you are on the track). Its signature is:

Private ReadOnly provider As IExtenderProvid er

Good luck and let me know...

--

Best regards,

Carlos J. Quintero

MZ-Tools: Productivity add-ins for Visual Studio .NET, VB6, VB5 and VBA
You can code, design and document much faster.
Free resources for add-in developers:
http://www.mztools.com

"Mario Vázquez" <al*****@micros oft.com> escribió en el mensaje
news:OS******** ******@TK2MSFTN GP14.phx.gbl...
Hi,

I have a component which exposes an extended property. I want to edit this
property using a UITypeEditor. The problem is that when the designer
raises
my UITypeEditor sends a reference of the component it's being edited (a
TextBox for example) but not of my component.
How can I receive a reference of the component that owns the extended
property?

Thanks a lot,
Mario Vázquez

Nov 23 '05 #2
Your mind debugger works fine!

I've got just want I wanted putting a breakpoint in the overrided function
EditValue of my UITypeEditor class, and asking for the following:

CType(CType(con text.PropertyDe scriptor,
ExtendedPropert yDescriptor).pr ovider, MyExtenderProvi derControl)

where context is the ExtendedPropert yDescriptor argument passed to this
function by the designer.

Well, I don't know much about reflection, so I need a little more help.
I understand that with reflection I can explore types and its members
dinamically, and even create instances of these types.
But, how can get an instance of an existing object?

Thank you for your help.

Regards,
Mario Vázquez
"Carlos J. Quintero [VB MVP]" <ca*****@NOSPAM sogecable.com> escribió en el
mensaje news:eV******** ******@TK2MSFTN GP12.phx.gbl...
Hi Mario,

That's a challenging problem and I am not sure about the need for this but
if you really need it you can try the following, not tested, just using
the debugger in my head ;-)

- Your class that inherits from UITypeEditor must override all the
overloaded methods EditValue, GetEditStyle, etc.

- Notice that each method has an overloaded variant which receives a
context (ITypeDescripto rContext). When these methods are called, store in
a class variable the following, to be used also when the other variant
without the context is called:

- The ITypeDescriptor Context.Propert yDescriptor property gives you the
property descriptor, which for an extended property like yours should be a
System.Componen tModel.Extended PropertyDescrip tor, so cast it to this type.

- The ExtendedPropert yDescriptor class has 2 overloaded constructors: one
that receives the provider of the property (IExtenderProvi der), which I
suppose that is an instance of your provider component. The other
overloaded constructor does not receive this parameter, though.

- The ExtendedPropert yDescriptor class does not expose the provider that
it stores when received through the constructor, but using Reflection, you
can retrieve the value of the field (the debugger of VS.NET 2002/2003
shows private fields, so you can guess if you are on the track). Its
signature is:

Private ReadOnly provider As IExtenderProvid er

Good luck and let me know...

--

Best regards,

Carlos J. Quintero

MZ-Tools: Productivity add-ins for Visual Studio .NET, VB6, VB5 and VBA
You can code, design and document much faster.
Free resources for add-in developers:
http://www.mztools.com

"Mario Vázquez" <al*****@micros oft.com> escribió en el mensaje
news:OS******** ******@TK2MSFTN GP14.phx.gbl...
Hi,

I have a component which exposes an extended property. I want to edit
this
property using a UITypeEditor. The problem is that when the designer
raises
my UITypeEditor sends a reference of the component it's being edited (a
TextBox for example) but not of my component.
How can I receive a reference of the component that owns the extended
property?

Thanks a lot,
Mario Vázquez


Nov 23 '05 #3
Hi Mario,

context.Propert yDescriptor already returns an instance of
ExtendedPropert yDescriptor. What you have to do is to use Reflection to get
the value of its private field "provider", something like this:

Dim objExtendedProp ertyDescriptor As ExtendedPropert yDescriptor
Dim objType As Type
Dim objProvider As Object

objExtendedProp ertyDescriptor = CType(context.P ropertyDescript or,
ExtendedPropert yDescriptor)
objType = objExtendedProp ertyDescriptor. GetType
objProvider = objType.InvokeM ember("provider ",
Reflection.Bind ingFlags.GetFie ld Or Reflection.Bind ingFlags.Instan ce Or
Reflection.Bind ingFlags.NonPub lic, Nothing, objExtendedProp ertyDescriptor,
Nothing)

And then objProvider is the instance of your provider control, isn´t it?

--

Best regards,

Carlos J. Quintero

MZ-Tools: Productivity add-ins for Visual Studio .NET, VB6, VB5 and VBA
You can code, design and document much faster.
Free resources for add-in developers:
http://www.mztools.com
"Mario Vázquez" <al*****@micros oft.com> escribió en el mensaje
news:us******** ******@TK2MSFTN GP12.phx.gbl...
Your mind debugger works fine!

I've got just want I wanted putting a breakpoint in the overrided function
EditValue of my UITypeEditor class, and asking for the following:

CType(CType(con text.PropertyDe scriptor,
ExtendedPropert yDescriptor).pr ovider, MyExtenderProvi derControl)

where context is the ExtendedPropert yDescriptor argument passed to this
function by the designer.

Well, I don't know much about reflection, so I need a little more help.
I understand that with reflection I can explore types and its members
dinamically, and even create instances of these types.
But, how can get an instance of an existing object?

Thank you for your help.

Regards,
Mario Vázquez


Nov 23 '05 #4
Right! That's it!

Althought I have to change the code you give me like this:

Dim objType As Type
Dim objProvider As Object
Dim objMyExtendedPr opertyControl As MyExtendedPrope rtyControl

' This line don't work
'objExtendedPro pertyDescriptor = CType(context.P ropertyDescript or,
ExtendedPropert yDescriptor)

objType = context.Propert yDescriptor.Get Type()
objProvider = objType.InvokeM ember("provider ", _
Reflection.Bind ingFlags.GetFie ld Or Reflection.Bind ingFlags.Instan ce
Or _
Reflection.Bind ingFlags.NonPub lic, Nothing,
context.Propert yDescriptor, Nothing)

objMyExtendedPr opertyControl = CType(objProvid er,
MyExtendedPrope rtyControl )

.... because the code editor does not let me declare any object of type
ExtendedPropert yDescriptor, because this type is private.

I've got it! So thanks a lot!

I'm trying to write a component which bind the controls on a form to a
DataSet. I use extended properties to specify in each control what property
it will be binded to each field on the dataSet. I need an UITypeEditor to
show a treeview of the dataset to bind, and also to show the right
properties for each control it's being binded.
I do all this because I've found no way to "hook" into the binding
working of the IDE. For example, when you drop a table on a DataSet design
surface, the IDE does'nt carry the relations to it. This make difficut to
generate the appropiate commands to Update and Delete a record from the
DataSet.... and things like this. Well, my english is poor and don't know if
i explain me right.
But maybe i'm wrong about all of this. Is there any way to generate a
tipped DataSet dinamically? This would simplifly the things...

Thank you again.

Regards,
Mario Vazquez

"Carlos J. Quintero [VB MVP]" <ca*****@NOSPAM sogecable.com> escribió en el
mensaje news:O3******** *******@TK2MSFT NGP10.phx.gbl.. .
Hi Mario,

context.Propert yDescriptor already returns an instance of
ExtendedPropert yDescriptor. What you have to do is to use Reflection to
get the value of its private field "provider", something like this:

Dim objExtendedProp ertyDescriptor As ExtendedPropert yDescriptor
Dim objType As Type
Dim objProvider As Object

objExtendedProp ertyDescriptor = CType(context.P ropertyDescript or,
ExtendedPropert yDescriptor)
objType = objExtendedProp ertyDescriptor. GetType
objProvider = objType.InvokeM ember("provider ",
Reflection.Bind ingFlags.GetFie ld Or Reflection.Bind ingFlags.Instan ce Or
Reflection.Bind ingFlags.NonPub lic, Nothing, objExtendedProp ertyDescriptor,
Nothing)

And then objProvider is the instance of your provider control, isn´t it?

--

Best regards,

Carlos J. Quintero

MZ-Tools: Productivity add-ins for Visual Studio .NET, VB6, VB5 and VBA
You can code, design and document much faster.
Free resources for add-in developers:
http://www.mztools.com
"Mario Vázquez" <al*****@micros oft.com> escribió en el mensaje
news:us******** ******@TK2MSFTN GP12.phx.gbl...
Your mind debugger works fine!

I've got just want I wanted putting a breakpoint in the overrided
function EditValue of my UITypeEditor class, and asking for the
following:

CType(CType(con text.PropertyDe scriptor,
ExtendedPropert yDescriptor).pr ovider, MyExtenderProvi derControl)

where context is the ExtendedPropert yDescriptor argument passed to this
function by the designer.

Well, I don't know much about reflection, so I need a little more help.
I understand that with reflection I can explore types and its members
dinamically, and even create instances of these types.
But, how can get an instance of an existing object?

Thank you for your help.

Regards,
Mario Vázquez

Nov 23 '05 #5
Hi Mario,
Right! That's it!
I'm glad that you got it.
ExtendedPropert yDescriptor, because this type is private.
Ah, yes, the type is actually Friend, the debugger in my head forgot it! ;-)
But maybe i'm wrong about all of this. Is there any way to generate a
tipped DataSet dinamically? This would simplifly the things...


I'm sorry but I don´t know, I mostly know about VS.NET extensibility
(although my MVP title says VB) but lately I have spent a lot of time
learning about UITypeEditors, etc. for a feature of my add-in and I was
caught by your question when I saw "UITypeEdit ors" in the subject, because I
have been solving similar tough problems :-)

A couple of recomendations:

- An excellent very long article (a whole chapter of a frustrated book
actually) about the design-time architecture of .NET:
http://www.codeproject.com/csharp/components.asp

- Using the .NET Reflector tool (http://www.aisto.com/roeder/dotnet/) you
can learn a lot about how the .NET Framework and VS work internally if you
see inside the proper assemblies (some of them are only in the GAC).

--

Best regards,

Carlos J. Quintero

MZ-Tools: Productivity add-ins for Visual Studio .NET, VB6, VB5 and VBA
You can code, design and document much faster.
Free resources for add-in developers:
http://www.mztools.com
Nov 23 '05 #6
Hello again, Carlos

Thank you for the information. I've download the Reflector tool and save the
article. I'll read it, because it seems so hard to find information about
inner working of the FrameWork and its relation with the ide of .net.
Another of the misteries that I have to clarify, is the DTE object. I guess
this is the type I need to create controls dinamically at design time, and
other interesting things like add and programatically manage projects,
dataSets and all the objects of the IDE.

Almost all the things I know about this questions I've learned from an
article about components. It talks about TypeConverters, Designers and so
on. I've tried to attach a zip file with this message but it has been
refused. I guess you know much more than me about this questions, but
perhaps you will find something interesting in this article. If you are
interessed, give me an address where I can send it to you.

Thanks for all.

Regards,
Mario Vazquez

mv******@girosy stem.com
"Carlos J. Quintero [VB MVP]" <ca*****@NOSPAM sogecable.com> escribió en el
mensaje news:OJ******** *******@TK2MSFT NGP09.phx.gbl.. .
Hi Mario,
Right! That's it!


I'm glad that you got it.
ExtendedPropert yDescriptor, because this type is private.


Ah, yes, the type is actually Friend, the debugger in my head forgot it!
;-)
But maybe i'm wrong about all of this. Is there any way to generate a
tipped DataSet dinamically? This would simplifly the things...


I'm sorry but I don´t know, I mostly know about VS.NET extensibility
(although my MVP title says VB) but lately I have spent a lot of time
learning about UITypeEditors, etc. for a feature of my add-in and I was
caught by your question when I saw "UITypeEdit ors" in the subject, because
I have been solving similar tough problems :-)

A couple of recomendations:

- An excellent very long article (a whole chapter of a frustrated book
actually) about the design-time architecture of .NET:
http://www.codeproject.com/csharp/components.asp

- Using the .NET Reflector tool (http://www.aisto.com/roeder/dotnet/) you
can learn a lot about how the .NET Framework and VS work internally if you
see inside the proper assemblies (some of them are only in the GAC).

--

Best regards,

Carlos J. Quintero

MZ-Tools: Productivity add-ins for Visual Studio .NET, VB6, VB5 and VBA
You can code, design and document much faster.
Free resources for add-in developers:
http://www.mztools.com

Nov 23 '05 #7
Hello again, Carlos

I've downloaded Reflector tool and save the page about design-time
architecture. I'll read it, sure, because it's so hard to find information
concerning these inner questions of the .net
Another of the misterys that I must to clarify is the DTE object. I guess
this type is what I need to create dinamically controls on a form at design
time, among other things.

Almost all the things I know about this questions I've learned reading an
article about components: TypeDescriptors , TypeEditors, Designers and so on.
I've tried to attach a zip file with this message but it has been refused. I
guess that you know a lot about these questions, but perhaps you'd find
something interesting on it. If you are interessed, gve me an address to
send it to you.

Thanks for all.

Regards,
Mario Vazquez
mv******@girosy stem.com

"Carlos J. Quintero [VB MVP]" <ca*****@NOSPAM sogecable.com> escribió en el
mensaje news:OJ******** *******@TK2MSFT NGP09.phx.gbl.. .
Hi Mario,
Right! That's it!


I'm glad that you got it.
ExtendedPropert yDescriptor, because this type is private.


Ah, yes, the type is actually Friend, the debugger in my head forgot it!
;-)
But maybe i'm wrong about all of this. Is there any way to generate a
tipped DataSet dinamically? This would simplifly the things...


I'm sorry but I don´t know, I mostly know about VS.NET extensibility
(although my MVP title says VB) but lately I have spent a lot of time
learning about UITypeEditors, etc. for a feature of my add-in and I was
caught by your question when I saw "UITypeEdit ors" in the subject, because
I have been solving similar tough problems :-)

A couple of recomendations:

- An excellent very long article (a whole chapter of a frustrated book
actually) about the design-time architecture of .NET:
http://www.codeproject.com/csharp/components.asp

- Using the .NET Reflector tool (http://www.aisto.com/roeder/dotnet/) you
can learn a lot about how the .NET Framework and VS work internally if you
see inside the proper assemblies (some of them are only in the GAC).

--

Best regards,

Carlos J. Quintero

MZ-Tools: Productivity add-ins for Visual Studio .NET, VB6, VB5 and VBA
You can code, design and document much faster.
Free resources for add-in developers:
http://www.mztools.com

Nov 23 '05 #8
Hello again, Carlos

I've downloaded Reflector tool and save the page about design-time
architecture. I'll read it, sure, because it's so hard to find information
concerning these inner questions of the .net
Another of the misterys that I must to clarify is the DTE object. I guess
this type is what I need to create dinamically controls on a form at design
time, among other things.

Almost all the things I know about this questions I've learned reading an
article about components: TypeDescriptors , TypeEditors, Designers and so on.
I've tried to attach a zip file with this message but it has been refused. I
guess that you know a lot about these questions, but perhaps you'd find
something interesting on it. If you are interessed, gve me an address to
send it to you.

Thanks for all.

Regards,
Mario Vazquez
mv******@girosy stem.com

"Carlos J. Quintero [VB MVP]" <ca*****@NOSPAM sogecable.com> escribió en el
mensaje news:OJ******** *******@TK2MSFT NGP09.phx.gbl.. .
Hi Mario,
Right! That's it!


I'm glad that you got it.
ExtendedPropert yDescriptor, because this type is private.


Ah, yes, the type is actually Friend, the debugger in my head forgot it!
;-)
But maybe i'm wrong about all of this. Is there any way to generate a
tipped DataSet dinamically? This would simplifly the things...


I'm sorry but I don´t know, I mostly know about VS.NET extensibility
(although my MVP title says VB) but lately I have spent a lot of time
learning about UITypeEditors, etc. for a feature of my add-in and I was
caught by your question when I saw "UITypeEdit ors" in the subject, because
I have been solving similar tough problems :-)

A couple of recomendations:

- An excellent very long article (a whole chapter of a frustrated book
actually) about the design-time architecture of .NET:
http://www.codeproject.com/csharp/components.asp

- Using the .NET Reflector tool (http://www.aisto.com/roeder/dotnet/) you
can learn a lot about how the .NET Framework and VS work internally if you
see inside the proper assemblies (some of them are only in the GAC).

--

Best regards,

Carlos J. Quintero

MZ-Tools: Productivity add-ins for Visual Studio .NET, VB6, VB5 and VBA
You can code, design and document much faster.
Free resources for add-in developers:
http://www.mztools.com


Nov 23 '05 #9
Hi Mario,
Another of the misteries that I have to clarify, is the DTE object. I
guess this is the type I need to create controls dinamically at design
time, and other interesting things like add and programatically manage
projects, dataSets and all the objects of the IDE.
The EnvDTE.DTE class is the main class of the Visual Studio extensibility
model and it represents the IDE. Addins, external scripts and macros get an
instance of it by other means, but for what I learned, the designer of a
control can get an instance of it with a call to GetService(GetT ype(DTE)),
and yes, once you have a DTE you have DTE.Solution, DTE.Solution.Pr ojects,
etc. You can see the object model in the Object Browser adding a reference
to the EnvDTE.dll assembly. My web site (below) has a section about add-ins
with resources about extensibility. If you need help in this area post again
(the microsoft.publi c.vstudio.exten sibility is a better newsgroup) since it
is my area of expertise.
Almost all the things I know about this questions I've learned from an
article about components. It talks about TypeConverters, Designers and so
on. I've tried to attach a zip file with this message but it has been
refused. I guess you know much more than me about this questions, but
perhaps you will find something interesting in this article. If you are
interessed, give me an address where I can send it to you.


Sure, remove the NOSPAM part of my e-mail address in this message or contact
me through my web site.

--

Best regards,

Carlos J. Quintero

MZ-Tools: Productivity add-ins for Visual Studio .NET, VB6, VB5 and VBA
You can code, design and document much faster.
Free resources for add-in developers:
http://www.mztools.com
Nov 23 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
10697
by: Roland Hall | last post by:
I have two(2) issues. I'm experiencing a little difficulty and having to resort to a work around. I already found one bug, although stated the bug was only in ODBC, which I'm not using. It appears to be in the OLEDB driver also. My connection was: conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPath & ";" & "Extended Properties='Text;HDR=NO;FMT=Delimited'"
14
5850
by: Roland Hall | last post by:
I have two(2) issues. I'm experiencing a little difficulty and having to resort to a work around. I already found one bug, although stated the bug was only in ODBC, which I'm not using. It appears to be in the OLEDB driver also. My connection was: conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPath & ";" & "Extended Properties='Text;HDR=NO;FMT=Delimited'"
3
2759
by: Roland Hall | last post by:
Three times the charm? Sorry for the repost. Trying to get my account right. I have two(2) issues. I'm experiencing a little difficulty and having to resort to a work around. I already found one bug, although stated the bug was only in ODBC, which I'm not using. It appears to be in the OLEDB driver also. My connection was:
9
3975
by: Guy | last post by:
I have extended the datetimepicker control to incorporate a ReadOnly property. I have used the new keyword to implement my own version of the value property, so that if readonly == true then it will not set the value of the control and will leave the checked status of the checkbox to false when a user selects a new date. this works fine when using the control on a win2k machine but if we use it on a win XP box and call
1
3253
by: funcSter | last post by:
I want to retrieve data from an Excel file like how I would with a database. I understand that I would have to use OLE DB. Somehow I think I cannot get the connection string right, as the bit of code fails at "objConn.Open()" with the error: System.Data.OleDb.OleDbException: Could not find installable ISAM. Can somebody please help me out? I'm still a learning programmer, so if someone can point out my mistakes, it'll be great! Thanks! ...
1
2411
by: svijay | last post by:
hi I have got a strange problem. May I know any solution for this. Here is the detailed description about the problem We have got a mainframe system and also production and development server.
0
996
by: jcvoon | last post by:
Hi: How to notify extended properties provider when the component is removed ? so that i can deleted the entry for that component from extended properties holder (the collection use to hold all the extended properties value). Thanks JCVoon
3
3566
by: Ben | last post by:
Hi! I have a user on my database that has only "select" access (db_datareader). Problem is, I also want him to also be able to create/update extended properties on tables or views, but without modifying the tables' schema. I played around with GRANT but apparently, a member of "db_datareader" cannot create/modify extended properties on an object if he's not the owner of this object. I tried making this user a member of
11
2204
by: sweetpotatop | last post by:
Hi, I wonder if it is possible to read the content of an excel spreadsheet through aspnet. The spreadsheet (workbook) is protected and it resides in a network drive. Please provide sample code if possible. Thanks in advance. Your help is greatly appreciated.
0
10145
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
9998
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
9822
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
8822
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7366
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6642
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5406
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
3917
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
3
2793
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.