Hi all,
I'm developing a C# .Net Windows Forms application, and am trying to
"host" mshtml.
Observing ItWriting control
( http://www.itwriting.com/htmleditor/index.php), I saw it implements
OLE2 interfaces to host the mshtml control. Mshtml was written to be
used through OLE, so that's it: If you're trying to 'host' a control
you need to emulate the environment for which the control was written.
However, I have a "philosophi cal" (or design) question: For the sake
of this posting, I differentiate between COM and OLE not
chronologically but by taking the network layers metaphor:
(*) COM is low level, IUnknown, class factories, VTable, IDispatch,
etc.
(*) OLE is a _ COLLECTION_ of several specific COM interfaces,
decreed by MS to be the glue between applications where a document of
one application is hosted within another: merging of menus and
activation of a document hosted within a container.
So,_today_, what is the way to integrate between applications? If I
wrote Word.Net today, and wanted it to be able to serve as the message
editing component of Outlook.Net, and wanted to be able to embed an
Excel.Net spreadsheet within my mail message, would I still implement
those specific COM interfaces? How? Would .Net do it for me
transparently?
Regards,
Avi 9 3807
If you want to continue interoperating with MS office and the com interfaces
they use you will have to implement those COM interfaces, if you want to
work within your own application set you can do that by writing your own. If
you are looking for a standard I'm afraid you are out of luck(AFAIK anyway).
Hopefully MS will provide a standard solution in the longhorn timeframe, if
not I would say its up to the user community to develop such a thing.
"Avi Nahir" <av**@bezeqint. net> wrote in message
news:fb******** *************** ***@posting.goo gle.com... Hi all,
I'm developing a C# .Net Windows Forms application, and am trying to "host" mshtml.
Observing ItWriting control (http://www.itwriting.com/htmleditor/index.php), I saw it implements OLE2 interfaces to host the mshtml control. Mshtml was written to be used through OLE, so that's it: If you're trying to 'host' a control you need to emulate the environment for which the control was written.
However, I have a "philosophi cal" (or design) question: For the sake of this posting, I differentiate between COM and OLE not chronologically but by taking the network layers metaphor:
(*) COM is low level, IUnknown, class factories, VTable, IDispatch, etc. (*) OLE is a _ COLLECTION_ of several specific COM interfaces, decreed by MS to be the glue between applications where a document of one application is hosted within another: merging of menus and activation of a document hosted within a container.
So,_today_, what is the way to integrate between applications? If I wrote Word.Net today, and wanted it to be able to serve as the message editing component of Outlook.Net, and wanted to be able to embed an Excel.Net spreadsheet within my mail message, would I still implement those specific COM interfaces? How? Would .Net do it for me transparently?
Regards,
Avi
Avi,
A hypothetical Word.Net, Excel.Net & Outlook.Net that are NOT dependent on
COM would probably be based on .NET Remoting. As Remoting is what enables
you to use an object across AppDomains, more closely coupled then Web
Services.
However! As Daniel pointed out I don't know of a current (or even planned)
"OLE.NET" that would allow Excel.Net to embed a spreadsheet in Outlook.Net
or Word.Net "document".
BTW: You are correct, today, .NET uses COM interop to use the existing COM
interfaces.
Hope this helps
Jay
"Avi Nahir" <av**@bezeqint. net> wrote in message
news:fb******** *************** ***@posting.goo gle.com... Hi all,
I'm developing a C# .Net Windows Forms application, and am trying to "host" mshtml.
Observing ItWriting control (http://www.itwriting.com/htmleditor/index.php), I saw it implements OLE2 interfaces to host the mshtml control. Mshtml was written to be used through OLE, so that's it: If you're trying to 'host' a control you need to emulate the environment for which the control was written.
However, I have a "philosophi cal" (or design) question: For the sake of this posting, I differentiate between COM and OLE not chronologically but by taking the network layers metaphor:
(*) COM is low level, IUnknown, class factories, VTable, IDispatch, etc. (*) OLE is a _ COLLECTION_ of several specific COM interfaces, decreed by MS to be the glue between applications where a document of one application is hosted within another: merging of menus and activation of a document hosted within a container.
So,_today_, what is the way to integrate between applications? If I wrote Word.Net today, and wanted it to be able to serve as the message editing component of Outlook.Net, and wanted to be able to embed an Excel.Net spreadsheet within my mail message, would I still implement those specific COM interfaces? How? Would .Net do it for me transparently?
Regards,
Avi
"Jay B. Harlow [MVP - Outlook]" <Ja************ @msn.com> wrote in message
news:uh******** ******@TK2MSFTN GP09.phx.gbl... Avi, A hypothetical Word.Net, Excel.Net & Outlook.Net that are NOT dependent on COM would probably be based on .NET Remoting. As Remoting is what enables you to use an object across AppDomains, more closely coupled then Web Services.
Actually, while remoting would serve for automation, for hosting you'd still
need a series of interfaces that would do the work of adding toolbars, menu
entries, etc(Ideally the interfaces would be remotable using implementations
on a MarshalByRef object). Atleast in the .NET strata it would be a simpler
issue, probably just one or two interfaces instead of the what...7 or so you
have to implement for OLE?(I've never done it, considered it but its too
much work from .NET). It certainly is something I'd like to see designed, I
just don't have many hopes of it happening anytime soon.
But then you start considering locating services, and whatnot, COM probably
still has the upper hand in automation as well, its unfortunate but
currently remoting just isn't up to the task, I'm hoping indigo will help
with that.
I honestly am not sure automation on the level Office uses is even possible
in the current .NET infrastructure. However! As Daniel pointed out I don't know of a current (or even planned) "OLE.NET" that would allow Excel.Net to embed a spreadsheet in Outlook.Net or Word.Net "document".
BTW: You are correct, today, .NET uses COM interop to use the existing COM interfaces.
Hope this helps Jay
"Avi Nahir" <av**@bezeqint. net> wrote in message news:fb******** *************** ***@posting.goo gle.com... Hi all,
I'm developing a C# .Net Windows Forms application, and am trying to "host" mshtml.
Observing ItWriting control (http://www.itwriting.com/htmleditor/index.php), I saw it implements OLE2 interfaces to host the mshtml control. Mshtml was written to be used through OLE, so that's it: If you're trying to 'host' a control you need to emulate the environment for which the control was written.
However, I have a "philosophi cal" (or design) question: For the sake of this posting, I differentiate between COM and OLE not chronologically but by taking the network layers metaphor:
(*) COM is low level, IUnknown, class factories, VTable, IDispatch, etc. (*) OLE is a _ COLLECTION_ of several specific COM interfaces, decreed by MS to be the glue between applications where a document of one application is hosted within another: merging of menus and activation of a document hosted within a container.
So,_today_, what is the way to integrate between applications? If I wrote Word.Net today, and wanted it to be able to serve as the message editing component of Outlook.Net, and wanted to be able to embed an Excel.Net spreadsheet within my mail message, would I still implement those specific COM interfaces? How? Would .Net do it for me transparently?
Regards,
Avi
Daniel, Actually, while remoting would serve for automation, for hosting you'd
still need a series of interfaces that would do the work of adding toolbars,
menu
Which was the point of my "However" ;-)
Remoting does not solve the embedding side of the equation.
Would you want the interface to be toolbar or menu entry based per se? What
about the new WinBar in Whidbey? Or the new UI in Longhorn. I would think
you would want the interface to be "Command" based, then the "Command" could
be implemented on what ever UI the host supported. Where Command itself was
an interface describing itself... Similiar to how VS.NET addins work, of
course VS.NET add-ins are tied to the "Office" toolbars...
Jay
"Daniel O'Connell" <onyxkirx@--NOSPAM--comcast.net> wrote in message
news:un******** ******@TK2MSFTN GP12.phx.gbl... "Jay B. Harlow [MVP - Outlook]" <Ja************ @msn.com> wrote in message news:uh******** ******@TK2MSFTN GP09.phx.gbl... Avi, A hypothetical Word.Net, Excel.Net & Outlook.Net that are NOT dependent
on COM would probably be based on .NET Remoting. As Remoting is what
enables you to use an object across AppDomains, more closely coupled then Web Services. Actually, while remoting would serve for automation, for hosting you'd
still need a series of interfaces that would do the work of adding toolbars,
menu entries, etc(Ideally the interfaces would be remotable using
implementations on a MarshalByRef object). Atleast in the .NET strata it would be a
simpler issue, probably just one or two interfaces instead of the what...7 or so
you have to implement for OLE?(I've never done it, considered it but its too much work from .NET). It certainly is something I'd like to see designed,
I just don't have many hopes of it happening anytime soon. But then you start considering locating services, and whatnot, COM
probably still has the upper hand in automation as well, its unfortunate but currently remoting just isn't up to the task, I'm hoping indigo will help with that.
I honestly am not sure automation on the level Office uses is even
possible in the current .NET infrastructure. However! As Daniel pointed out I don't know of a current (or even
planned) "OLE.NET" that would allow Excel.Net to embed a spreadsheet in
Outlook.Net or Word.Net "document".
BTW: You are correct, today, .NET uses COM interop to use the existing
COM interfaces.
Hope this helps Jay
"Avi Nahir" <av**@bezeqint. net> wrote in message news:fb******** *************** ***@posting.goo gle.com... Hi all,
I'm developing a C# .Net Windows Forms application, and am trying to "host" mshtml.
Observing ItWriting control (http://www.itwriting.com/htmleditor/index.php), I saw it implements OLE2 interfaces to host the mshtml control. Mshtml was written to be used through OLE, so that's it: If you're trying to 'host' a control you need to emulate the environment for which the control was written.
However, I have a "philosophi cal" (or design) question: For the sake of this posting, I differentiate between COM and OLE not chronologically but by taking the network layers metaphor:
(*) COM is low level, IUnknown, class factories, VTable, IDispatch, etc. (*) OLE is a _ COLLECTION_ of several specific COM interfaces, decreed by MS to be the glue between applications where a document of one application is hosted within another: merging of menus and activation of a document hosted within a container.
So,_today_, what is the way to integrate between applications? If I wrote Word.Net today, and wanted it to be able to serve as the message editing component of Outlook.Net, and wanted to be able to embed an Excel.Net spreadsheet within my mail message, would I still implement those specific COM interfaces? How? Would .Net do it for me transparently?
Regards,
Avi
First of all, thank you both for your answers. Also thanks to Jeffery Tan
from MS who - to my total amazement - wrote to tell me he was monitoring
this thread. Ho Jeffery!-)
So you are saying that if I wanted to build an Active Document (I think that
was the terminology) or an Active Document Container I have to find out
which are the relevant COM interfaces and implement interop to them? From
scratch? If this is true, than me thinks MS has given up on non-proprietry
"document" integration! It'd just be too much work! (Now that I think about
it, I think there was an OLE Container control in VB 6.0 which was removed
from VS.Net. A consipracy?-)
Avi
Avi, So you are saying that if I wanted to build an Active Document (I think
that was the terminology) or an Active Document Container I have to find out which are the relevant COM interfaces and implement interop to them? From scratch?
I understand that Whidbey (VS.NET 2004 available late this year) will
support displaying (hosting) ActiveX documents. Not sure if it will support
creating ActiveX documents...
from VS.Net. A consipracy?-)
IMHO: No conspiracy, its a lack of Man Power! Look at the size of .NET, even
with MS's deep pockets they only have so much man power and so much time. If
they were to implement EVERY thing available under Win32, COM & OLE in .NET
they would never have released 1.0, they needed "draw a line in the sand"
and release why they could for 1.0, they added minimally for 1.1 as it was
more fixes then anything. 2.0 is gaining a number of new items, but not
every thing, I'm sure 3.0 will gain even more.
Hope this helps
Jay
"Avi Nahir" <av**@bezeqint. net> wrote in message
news:eZ******** ******@TK2MSFTN GP09.phx.gbl... First of all, thank you both for your answers. Also thanks to Jeffery Tan from MS who - to my total amazement - wrote to tell me he was monitoring this thread. Ho Jeffery!-)
So you are saying that if I wanted to build an Active Document (I think
that was the terminology) or an Active Document Container I have to find out which are the relevant COM interfaces and implement interop to them? From scratch? If this is true, than me thinks MS has given up on non-proprietry "document" integration! It'd just be too much work! (Now that I think
about it, I think there was an OLE Container control in VB 6.0 which was removed from VS.Net. A consipracy?-)
Avi
> I understand that Whidbey (VS.NET 2004 available late this year) will support displaying (hosting) ActiveX documents. Not sure if it will
support creating ActiveX documents...
Thanks for the info. from VS.Net. A consipracy?-) IMHO: No conspiracy, its a lack of Man Power! Look at the size of .NET,
even with MS's deep pockets they only have so much man power and so much time.
If they were to implement EVERY thing available under Win32, COM & OLE in
..NET they would never have released 1.0, they needed "draw a line in the sand"
I was joking re. consiprancy, but we both agree it was not too high on thier
agenda.
and release why they could for 1.0, they added minimally for 1.1 as it was more fixes then anything. 2.0 is gaining a number of new items, but not every thing, I'm sure 3.0 will gain even more.
Thrice pays for all!
Thanks!
Avi
Hello Avi,
Thanks for posting in the group.
Based on my understanding, now the question is: In .NET programming, what
is the replacement of COM controls like ActiveX control and some Active
Document technology in COM world? Please correct me if I have misunderstood
the problem.
This is really a good question. In fact, when we heard of .NET in the very
beginning, many developer feel " "So does this mean that COM is dead?". In
fact, Don Box has a good article on this topic which was published in MSDN
maganize. Please refer to http://msdn.microsoft.com/msdnmag/is...m/default.aspx for this
article "Is COM Dead?".
In .NET programming, we have some new choices when developing controls in
different applications. For an example, in web form application, we have
new server control, web user control and web custom control. In winform
application, we can develop custom Windows Forms control, compositive
winform control.
For some legacy programming, just as you mentioned, ActiveX document,
ActiveX document container, surely we can implement it from the draft in
..NET programming by InterOp. However, implements all the interfaces
manually is a time consuming work. So it is better for us to stay in
unmanaged world to achieve it. In VC.NET, we can still develop a unmanaged
application easily.
Remoting and web service are also interesting topics in application
communication and data sharing. For the long term, you can also refer to
Indigo which is a new breed of communications infrasturcture build around
the web services architecture. Please refer to http://www.microsoft.com/indonesia/m...igofaq1_topic2
for more details.
Hope that helps.
Ps: We can send post notify email to you when there are useful replies to
your post in the newsgroup. If you want to receive it in the future, please
register a no spam email alias at: http://support.microsoft.com/default...sdn/nospam.asp
&SD=msdn.
Best regards,
Yanhong Huang
Microsoft Community Support
Get Secure! ¨C www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.
"Jay B. Harlow [MVP - Outlook]" <Ja************ @msn.com> wrote in message
news:el******** *****@TK2MSFTNG P12.phx.gbl... Daniel, Actually, while remoting would serve for automation, for hosting you'd still need a series of interfaces that would do the work of adding toolbars, menu Which was the point of my "However" ;-)
Remoting does not solve the embedding side of the equation.
Would you want the interface to be toolbar or menu entry based per se?
What about the new WinBar in Whidbey? Or the new UI in Longhorn. I would think you would want the interface to be "Command" based, then the "Command"
could be implemented on what ever UI the host supported. Where Command itself
was an interface describing itself... Similiar to how VS.NET addins work, of course VS.NET add-ins are tied to the "Office" toolbars...
Ideally, yes, the WinBar is ideal for this. Currently, ToolBar and Menu are
too inflexible. They aren't the easiest things to work with sometimes
Currently I use something like
public void AddToolbar(stri ng toolbarName);
public void AddToolbarButto n(string toolbar, string name, IAction action);
public void AddMenu(string parentMenu, string name, IAction action);
etc. The COM ActiveDocument interfaces allow merging of the document's menus
and toolbars into the apps menu's and toolbars, such as when you load word
in IE. An action\command system as you suggested would be far more flexible,
however a mechanism to control the other apps preferences is needed. Ideally
you would want your prefered toolbars to load, while commands and other
toolbars can be accessed in some way.
Out of process activation is another issue that isn't handled. Jay
"Daniel O'Connell" <onyxkirx@--NOSPAM--comcast.net> wrote in message news:un******** ******@TK2MSFTN GP12.phx.gbl... "Jay B. Harlow [MVP - Outlook]" <Ja************ @msn.com> wrote in
message news:uh******** ******@TK2MSFTN GP09.phx.gbl... Avi, A hypothetical Word.Net, Excel.Net & Outlook.Net that are NOT
dependent on COM would probably be based on .NET Remoting. As Remoting is what enables you to use an object across AppDomains, more closely coupled then Web Services. Actually, while remoting would serve for automation, for hosting you'd still need a series of interfaces that would do the work of adding toolbars, menu entries, etc(Ideally the interfaces would be remotable using implementations on a MarshalByRef object). Atleast in the .NET strata it would be a simpler issue, probably just one or two interfaces instead of the what...7 or so you have to implement for OLE?(I've never done it, considered it but its too much work from .NET). It certainly is something I'd like to see
designed, I just don't have many hopes of it happening anytime soon. But then you start considering locating services, and whatnot, COM probably still has the upper hand in automation as well, its unfortunate but currently remoting just isn't up to the task, I'm hoping indigo will
help with that.
I honestly am not sure automation on the level Office uses is even possible in the current .NET infrastructure. However! As Daniel pointed out I don't know of a current (or even
planned) "OLE.NET" that would allow Excel.Net to embed a spreadsheet in Outlook.Net or Word.Net "document".
BTW: You are correct, today, .NET uses COM interop to use the existing COM interfaces.
Hope this helps Jay
"Avi Nahir" <av**@bezeqint. net> wrote in message news:fb******** *************** ***@posting.goo gle.com... > Hi all, > > I'm developing a C# .Net Windows Forms application, and am trying to > "host" mshtml. > > Observing ItWriting control > (http://www.itwriting.com/htmleditor/index.php), I saw it implements > OLE2 interfaces to host the mshtml control. Mshtml was written to be > used through OLE, so that's it: If you're trying to 'host' a control > you need to emulate the environment for which the control was
written. > > However, I have a "philosophi cal" (or design) question: For the sake > of this posting, I differentiate between COM and OLE not > chronologically but by taking the network layers metaphor: > > (*) COM is low level, IUnknown, class factories, VTable, IDispatch, > etc. > (*) OLE is a _ COLLECTION_ of several specific COM interfaces, > decreed by MS to be the glue between applications where a document
of > one application is hosted within another: merging of menus and > activation of a document hosted within a container. > > So,_today_, what is the way to integrate between applications? If I > wrote Word.Net today, and wanted it to be able to serve as the
message > editing component of Outlook.Net, and wanted to be able to embed an > Excel.Net spreadsheet within my mail message, would I still
implement > those specific COM interfaces? How? Would .Net do it for me > transparently? > > Regards, > > Avi
This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: kalbee |
last post by:
When we insert text into field in a table, SQL SERVER apparently
replaces apostrophes with question marks -- is there a way to not have
this occur? We don't have this happen with the mySQL databases that
we also support.
Much help appreciated.
|
by: Mr B |
last post by:
Howdy,
I want to set up an Include page in a cell of a table. Then I want to be able to change which page
is included on the fly as the user moves the mouse of the various links on the page. How can I do
this?
THe include page was set up via FrontPage so it put it's Bot stuff in there, but if someone could
tell me the "standard" way to use an include page and if there's a way using onMouseover etc to then
change that and refresh it...
|
by: Moon |
last post by:
Seems I still haven't got the hang of all those window generating code
in Javascript. I've got a page with about 15 photo thumbnails. When you
click on a thumbnail a new window pops up which shows the enlarged
version of said thumbnail. This works fine on all current browsers I've
tested.
However, in case I do not close the popup but click on another thumbnail
instead, only IE replaces the enlarged pic by the new one, Firebird and
Opera...
|
by: Harald Armin Massa |
last post by:
again, and again ... another try of templating
txt="""
<html>
<body>
<p>whatever</p>
<!--tree-->
<p>the machine with bing</p>
<!--house-->
<p>10% of boo is foo</p>
|
by: Epetruk |
last post by:
If I have a snippet of javascript code like this:
var str = "This is a snippet;
str.replace(/ */gi,' ');
what should the call to replace do? My actual tests show that it inserts
spaces between each letter... but this doesn't make sense to me. From the
regex, it looks like it should be replacing any occurrence of a space
followed by any character with a space, meaning that we should have
something like 'This s nippet'.
| |
by: David |
last post by:
As very often is the case a web page has a main, dynamic content page and a
surrounding, more constant "frame" (not html frame!) for stuff like menu,
logo, links etc. In my old ASP web pages I solved this by using #include so
that each .asp page simply started with including this in the top of the
file. Actually it was also ASP code since some of the frame content was
dynamically created from the database.
I can see many possibilities...
|
by: Bennett Haselton |
last post by:
If you create a ASP.Net Web application in Visual Studio .Net, you
apparently have to specify the target as a directory on a web server,
e.g. www.hostname.com/dirname, with "dirname" being the name of the
locally created project. I can't find a way to create an .aspx file
and publish it straight to the Web root directory in VS .Net.
And yet of course there are many sites with .aspx files located in the
Web root directory. Does that...
|
by: Rob R. Ainscough |
last post by:
Dim slt(0) As Byte
Dim pdb As New PasswordDeriveBytes(strKey24, slt)
Dim bytDerivedKey() As Byte = pdb.GetBytes(24)
VS 2005 issues a warning for using .GetBytes() -- the exact warning:
Warning 1 'Public Overrides Function GetBytes(cb As Integer) As Byte()' is
obsolete: 'Rfc2898DeriveBytes replaces PasswordDeriveBytes for deriving key
material from a password and is preferred in new applications.'...
|
by: libsfan01 |
last post by:
Hi all
Im trying to write a script that pulls data from another page (which is
getting data from a db). The contents displayed on the db handling page
(display.php) gets transferred through XMLHttpRequest continuously,
however when setting the value using getElementById the value of the
element is not being replaced, it is being appended each time.
Here is my code, how can i modify the code to replace the contents of
the element...
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it.
First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
|
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...
| |
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...
|
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...
|
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...
|
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();...
|
by: TSSRALBI |
last post by:
Hello
I'm a network technician in training and I need your help.
I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs.
The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols.
I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
|
by: muto222 |
last post by:
How can i add a mobile payment intergratation into php mysql website.
| |
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...
| |