473,897 Members | 2,819 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Step by step: Compiling extensions with MS Visual C++ Toolkit 2003 - msvccompiler-patch.txt (0/1)

The good news:

Along with Python-2.4 comes really good news to Windows users. Yes,
you now CAN build extension modules yourself using the SAME C++
compiler and linker Python is built with itself. Everything you need
is available at no costs (except download hassle and installation
time). Once your system is set up properly its just a matter of
running 'python setup.py build'. No longer waiting for someone else to
build binaries and a relief to those who kindly used to provide those
binaries.
The bad news:

It's not easy to get there! Gathering information and packages and
finding out about all the little steps and stumbling blocks may be
very time consuming.
Relax:

Here's (much of) what you need to know. With this document I'm trying
to provide the information I would have needed. It's sort of a step by
step instruction and contains some details. Goal: Compile Python-2.4
extensions with the freely available "Microsoft Visual C++ Toolkit
2003". This document DOES NOT address the issue of compiling Python
itself.

The example chosen to build is the "MySQLdb" module with its
_mysql.pyd extension.

Go and check out Mike Fletcher's page first at

http://www.vrplumber.com/programming/mstoolkit/

It's his work (and the need to get a working MySQLdb for Python-2.4 of
course ;-) that motivated me to start and spend some hours. Without
Mike's page I wouldn't even have tried. Thank you so much! Now I'm
prepared.

Two things first - not to forget:

(1) In contrast to what Mike writes I had to use a different registry
key (see step 9)

(2) I don't now what people mean when talking about "msvcr71.li b".
There's no such file on my machine. BUT there IS a "msvcrt.lib " a
directory "C:\Programme\M icrosoft Visual Studio .NET 2003\Vc7\lib". I
guess the ".\Vc7\." indicates we are talking of the expected lib.
Correct? I don't know.

Attention - long lines:
Watch out for long lines that may have gotten split in this posting!

See if you've got something already. These are important directories
we're looking for. When "echo %ProgramFiles%" gives "C:\Program me"
there should be:

C:\Programme\Mi crosoft Platform SDK for Windows XP SP2\Include
C:\Programme\Mi crosoft Platform SDK for Windows XP SP2\Lib
C:\Programme\Mi crosoft Visual C++ Toolkit 2003\bin
C:\Programme\Mi crosoft Visual Studio .NET 2003\Vc7\lib
C:\Programme\Mi crosoft.NET\SDK \v1.1\include
C:\Programme\Mi crosoft.NET\SDK \v1.1\Lib
Step By Step
============

1. Set up a Windows machine
1.1 Install Windows XP (Prof. or Home doesn't matter)
1.2 Apply Service Pack 2 (WinXP SP2)
1.3 Perform a Windows update at
http://windowsupdate.microsoft.com
to get the latest patches.
2. Get some tools

This is optional - you don't have to. But it may be instructive and
helpful. And - I would say - fun.

2.1 Get "Windows Resource Kits"
Brings some useful tools like "CMD Prompt Here" to the windows
explorer context menu or "robocopy.e xe" - a copy tools really worth to
look at. Seems MS developers need good tools too ...

http://www.microsoft.com/windows/reskits/default.asp

The website says:
"""
Windows Server 2003 Resource Kit Tools
The Resource Kit Tools are a set of software tools for network
administrators, developers, and power users to manage TCP/IP,
networks, the registry, security, remote administration,
configuration, batch files, and many other areas of the Windows Server
2003 operating system. To install the tools, download and run
Rktools.exe.
"""
(rktools.exe, 12.337.752 bytes).

2.2 Add some Unix to Windows. Goto

http://unxutils.sourceforge.net/

and get UnxUtils.zip (4.125 kB)
"""
Here are some ports of common GNU utilities to native Win32. In this
context, native means the executables do only depend on the Microsoft
C-runtime (msvcrt.dll) and not an emulation layer like that provided
by Cygwin tools.
"""
For example, this gives you "diff.exe" and "patch.exe" .

3. Get and install the the .NET Framework 1.1.

It's available at no costs from the MicroSoft website. Use Google to
find the download page.

3.1 Install the ".NET Framework 1.1 runtime" first (dotnetfx.exe,
24.277.024 bytes)

3.2 Install the .NET Framework 1.1 SDK" second. (setup(sdk1.1). exe,
117.062.664 bytes).

Attention, observation:

This step should indeed create the badly needed

C:\Programme\Mi crosoft Visual Studio .NET 2003\Vc7\lib

folder. It didn't on my machine until I first completely deinstalled
on existing installation of .NET Framework 1.1 runtime AND .NET
Framework 1.1 SDK and then resumed with steps 3.1 and 3.2. Only
Redmond will know why - and I doubt it.

3.3 Perform a Windows update at
http://windowsupdate.microsoft.com
to get the latest patches of the .NET Framework.

4. Platform SDK

Get and install the platform SDK "Windows XP SP2 SDK" (about
266.000.00 bytes) from
http://www.microsoft.com/msdownload/...ULLInstall.htm

You better download the whole stuff (several .CAB-files) first instead
of trying to install online. This may be too risky.

5. Get and install free "Visual C++ Toolkit 2003"

This is the C++ compiler and linker. Use Google to find the "Microsoft
VisualC++ Toolkit 2003" download page and get "VCToolkitSetup .exe"
(32.948.392 bytes).

The website says:
"""
Overview
The Microsoft Visual C++ Toolkit 2003 includes the core tools
developers need to compile and link C++-based applications for Windows
and the .NET Common Language

Runtime:
Microsoft C/C++ Optimizing Compiler and Linker. These are the same
compiler and linker that ship with Visual Studio .NET 2003
Professional!

C Runtime Library and the C++ Standard Library, including the Standard
Template Library. These are the same static-link libraries included
with Visual Studio.

Microsoft .NET Framework Common Language Runtime. Visual C++ can
optionally build applications that target the Common LanguageRuntime
(CLR).

Sample code. The toolkit includes four samples designed to showcase
the powerful new features of the 2003 version, including new
optimization capabilities, features to improve code-security and
robustness, enhanced ISO C++ standards support, and the ability to use
the .NET Framework library and target the CLR.
"""
6. Be sure that all components are up to date and do a Windows update
at
http://windowsupdate.microsoft.com
7. Install Python-2.4 to C:\Python24
8. Modify the Python distutils

Make a backup of C:\Python24\Lib \distutils\msvc compiler.py and apply
the patches as described in

http://www.vrplumber.com/programming/mstoolkit/

to this file. You can do this by hand or use "patch.exe" which you've
gotten if you did follow step 2.2. There should be a file
"msvccompil er-patch.txt" appended to this message.

patch.exe msvccompiler.py msvccompiler-patch.txt

should succeed with no error.

9. Verify registry key of platform SDK

Start "regedit.ex e" from the commandline and check for the registry
key of the platform SKD.

ON MY MACHINE and in my case it is different from the one listed on
http://www.vrplumber.com/programming/mstoolkit/

It is
HKEY_LOCAL_MACH INE\SOFTWARE\Mi crosoft\Microso ftSDK\Installed SDKs\B44C7E10-89BD-4A32-A3BF-D9D0BC4C9A05

and it is not
....\63DADB24-DC99-45EB-A748-EC93AB8A7497.

Find out about the correct key in your case and adjust the crucial
line 133 in msvccompiler.py :

freeSDK=r"SOFTW ARE\Microsoft\M icrosoftSDK\Ins talledSDKs\B44C 7E10-89BD-4A32-A3BF-D9D0BC4C9A05"

If the key is wrong, you may encounter something like:

"""
C:\> python setup.py build
running build
running build_ext
error: Python was built with version 7.1 of Visual Studio, and
extensions need to be built with the same version of the ompiler, but
it isn't installed.
"""

10. Create a script file "pathsetup. bat" hat helps you set up the
necessary paths. We don't need to add the Python24 lib and include
paths as the distutils will take care for this automatically.

+++++++++++++++ +
REM START of pathsetup.bat, mb, 2004-12-12

REM add Python-2.4 to path
set Path=C:\Python2 4;%Path%

REM add the compiler path
set Path=C:\Program me\Microsoft Visual C++ Toolkit 2003\bin;%Path%

REM setup include paths
set Include=%Progra mFiles%\Microso ft Platform SDK for Windows XP
SP2\Include;%In clude%
set Include=%Progra mFiles%\Microso ft Visual C++ Toolkit
2003\include;%I nclude%

REM setup Lib paths
set Lib=C:\Programm e\Microsoft Platform SDK for Windows XP
SP2\Lib;%Lib%
set Lib=C:\Programm e\Microsoft Visual C++ Toolkit 2003\lib;%Lib%
set Lib=C:\Programm e\Microsoft Visual Studio .NET 2003\Vc7\lib;%x xLib%

REM END of pathsetup.bat
+++++++++++++++ +

11. Source distribution of Python module

Get and unpack the source distribution of a module you want to build.
In our case get "MySQL-python-1.1.7.tar.gz" from
http://sourceforge.net/projects/mysql-python or

http://sourceforge.net/project/showf...ckage_id=34790
und unpack to ...\somehwere\M ySQL-python-1.1.7
11.1 Read README and setup.py

Is there a README in "MySQL-python-1.1.7\"? Yes, there is! It tells
you to get additional header and library files from the MySQL website.
Looking for version 4.x at

http://www.mysql.com/downloads

we'll follow version 4.x and be taken to

http://dev.mysql.com/downloads/mysql/4.0.html

Locate "Windows downloads (platform notes)" on that page and download
the binary distribution ("Windows (x86) Without installer (unzip in
C:\) 4.0.22 20.8M"). The file is "mysql-4.0.22-win-noinstall.zip"
(21.346 kB).

Since we're not interested in running MySQL but only in building the
extension we unzip into ...\MySQL-python-1.1.7\mysql-4.0.22-win

11.2
Make sure the MySQL header and library files are accessible by the C++
compiler and linker. The location is hardcoded in 'setup.py' of the
MySQL-python-1.1.7 module.

Search for "win32" in 'setup.py' and change references to
'C:\myslq\...' to '.\mysql-4.0.22-win

### >>>>>> schnipp >>>>>>>
# setup.py of MySQL-python-1.1.7

elif sys.platform == "win32": # Ugh
include_dirs = [r'.\mysql-4.0.22-win\include']
library_dirs = [r'.\mysql-4.0.22-win\lib\opt']
extra_objects = [r'.\mysql-4.0.22-win\lib\opt\mys qlclient.lib']

### <<<<<< schnapp <<<<<<<

12.
Relax. Take a breath. We're ready to go :-)

12.1
Open a command window.

12.2
Run "pathsetup. bat" to setup the environment.

12.3 Change directory and step into ...\MySQL-python-1.1.7, that is,
into the root dir of the module you want to build - the dir that
contains the "setup.py" file.

12.4 Start building the module including the extension using distutils
with the command:

python setup.py build
13.
There aren't fatal errors? Congratulations , you made it! Why not
install then:

python setup.py install

should do the trick. (Yes, I had two or three warnings. But they don't
seem to be important).
14. Earn what you deserve

Start Python and import:

Python 2.4 (#60, Nov 30 2004, 11:49:19) [MSC v.1310 32 bit (Intel)] on
win32
Type "help", "copyright" , "credits" or "license" for more information.
import MySQLdb
<---------- imported! no error here!


Yes, it does import :-) And it does work :-) And _mysql.pyd is similar
in size to those versions I had before (about 185 kB) :-)

Life goes on. A different time another thread I'm going to ask about
the warnings I got with building MySQLdb ...
mb - Martin

Jul 18 '05 #1
6 6185
Cool.... it's nice to see these working. I followed Mike Fletchers
instructions and they worked fine for me.

I used mingw to get the patch tool.
I did the core SDK download by doing a 'full download' (all 13 CAB
files and extraction bat separately) and a local install. This is about
a 350 odd meg download and some people have had issues with the MS
installer.

I've used it to build PyCrypto 2.0 successfully.

Anyway - thanks for the info.

Regards,
Fuzzy
http://www.voidspace.org.uk/atlantib...thonutils.html

Jul 18 '05 #2
Martin Bless wrote:
....
Two things first - not to forget:

(1) In contrast to what Mike writes I had to use a different registry
key (see step 9)

Which is expected (even noted on the page), particularly if you have a
different version of the SDKs. The keys in the patch were extracted
from an English Win2K Platform SDK. Don't know of any *good* way to
figure out the keys in a version-agnostic manner. Suggestions welcome...
(2) I don't now what people mean when talking about "msvcr71.li b".
There's no such file on my machine. BUT there IS a "msvcrt.lib " a
directory "C:\Programme\M icrosoft Visual Studio .NET 2003\Vc7\lib". I
guess the ".\Vc7\." indicates we are talking of the expected lib.
Correct? I don't know.

This was sloppy on my part. msvcr71.dll is the DLL used for Visual
Studio 7.1, we want the .lib for that version of the DLL, but as you
note, it is actually named msvcrt.lib (same as the one for Visual Studio
6.0).
Get and install the platform SDK "Windows XP SP2 SDK" (about

....
It is
HKEY_LOCAL_MAC HINE\SOFTWARE\M icrosoft\Micros oftSDK\Installe dSDKs\B44C7E10-89BD-4A32-A3BF-D9D0BC4C9A05

and it is not
...\63DADB24-DC99-45EB-A748-EC93AB8A7497.

Find out about the correct key in your case and adjust the crucial
line 133 in msvccompiler.py :

freeSDK=r"SOFT WARE\Microsoft\ MicrosoftSDK\In stalledSDKs\B44 C7E10-89BD-4A32-A3BF-D9D0BC4C9A05"

....
Will have to figure out how to make this work across SDK versions somehow.

Thanks for the report,
Mike

_______________ _______________ _______________ ___
Mike C. Fletcher
Designer, VR Plumber, Coder
http://www.vrplumber.com
http://blog.vrplumber.com

Jul 18 '05 #3
Having done steps 1 to 10, I tried building Numeric-23.6. And got the
following error-msg:

F:\install\Nume ric-23.6>python setup.py build
running build
running build_py
running build_ext
building '_numpy' extension
D:\Programme\Mi crosoft Visual C++ Toolkit 2003\bin\cl.exe /c /nologo
/Ox /MD /W3
/GX /DNDEBUG -I/usr/include/atlas -IInclude -IPackages\FFT\I nclude
-IPackages\R
NG\Include -ID:\Python24\in clude -ID:\Python24\PC /TcSrc\_numpymod ule.c
/Fobuild
\temp.win32-2.4\Release\Src \_numpymodule.o bj
_numpymodule.c
d:\Python24\inc lude\pyconfig.h (30) : fatal error C1083: Cannot open
include file
: 'io.h': No such file or directory
error: command '"D:\Programme\ Microsoft Visual C++ Toolkit
2003\bin\cl.exe "' fai
led with exit status 2

why?
Regards
Wolfgang

Jul 18 '05 #4
wj****@web.de wrote:
Having done steps 1 to 10, I tried building Numeric-23.6. And got the
following error-msg:

F:\install\Nume ric-23.6>python setup.py build
running build
running build_py
running build_ext
building '_numpy' extension
D:\Programme\Mi crosoft Visual C++ Toolkit 2003\bin\cl.exe /c /nologo
/Ox /MD /W3
/GX /DNDEBUG -I/usr/include/atlas -IInclude -IPackages\FFT\I nclude
-IPackages\R
NG\Include -ID:\Python24\in clude -ID:\Python24\PC /TcSrc\_numpymod ule.c /Fobuild
\temp.win32-2.4\Release\Src \_numpymodule.o bj
_numpymodule.c
d:\Python24\inc lude\pyconfig.h (30) : fatal error C1083: Cannot open
include file
: 'io.h': No such file or directory
error: command '"D:\Programme\ Microsoft Visual C++ Toolkit
2003\bin\cl.exe "' fai
led with exit status 2

why?
Regards
Wolfgang


If you look at the instructions on :
http://www.vrplumber.com/programming/mstoolkit/

It mentions that you probably need the .NET 2.0beta runtime and SDK.

Regards,

Fuzzy
http://www.voidspace.org.uk/atlantib...thonutils.html

Jul 18 '05 #5
....
d:\Python24\inc lude\pyconfig.h (30) : fatal error C1083: Cannot open
include file
: 'io.h': No such file or directory
error: command '"D:\Programme\ Microsoft Visual C++ Toolkit
2003\bin\cl.exe "' fai
led with exit status 2

why?


Under :
HKEY_LOCAL_MACH INE\Software\Mi crosoft\VisualS tudio
\7.1\VC\VC_OBJE CTS_PLATFORM_IN FO\Win32\Direct ories

You need to add the strings:
"Include Dirs"(path to toolkit \include; path to platform sdk \include)
"Library Dirs"(path to toolkit \lib; path to platform sdk \lib)
"Path Dirs" (path to toolkit \bin; path to platform sdk \bin)

Jul 18 '05 #6
Is it possible to compile extension modules on windows platforms using
MS Visual C++ Express 2005, or Visual Studio 8? If so, how would one
modify the instructions posted in this thread? [assume I also have
Toolkit 2003 installed, if necessary, for msvcr71.lib]

Marcus
Mike C. Fletcher wrote:
Martin Bless wrote:
...
Two things first - not to forget:

(1) In contrast to what Mike writes I had to use a different registrykey (see step 9)

Which is expected (even noted on the page), particularly if you have

a different version of the SDKs. The keys in the patch were extracted
from an English Win2K Platform SDK. Don't know of any *good* way to
figure out the keys in a version-agnostic manner. Suggestions welcome...
(2) I don't now what people mean when talking about "msvcr71.li b".
There's no such file on my machine. BUT there IS a "msvcrt.lib " a
directory "C:\Programme\M icrosoft Visual Studio .NET 2003\Vc7\lib". Iguess the ".\Vc7\." indicates we are talking of the expected lib.
Correct? I don't know.

This was sloppy on my part. msvcr71.dll is the DLL used for Visual
Studio 7.1, we want the .lib for that version of the DLL, but as you
note, it is actually named msvcrt.lib (same as the one for Visual

Studio 6.0).
Get and install the platform SDK "Windows XP SP2 SDK" (about

...
It is


HKEY_LOCAL_MAC HINE\SOFTWARE\M icrosoft\Micros oftSDK\Installe dSDKs\B44C7E10-89BD-4A32-A3BF-D9D0BC4C9A05

and it is not
...\63DADB24-DC99-45EB-A748-EC93AB8A7497.

Find out about the correct key in your case and adjust the crucial
line 133 in msvccompiler.py :


freeSDK=r"SOFT WARE\Microsoft\ MicrosoftSDK\In stalledSDKs\B44 C7E10-89BD-4A32-A3BF-D9D0BC4C9A05"

...
Will have to figure out how to make this work across SDK versions

somehow.
Thanks for the report,
Mike

_______________ _______________ _______________ ___
Mike C. Fletcher
Designer, VR Plumber, Coder
http://www.vrplumber.com
http://blog.vrplumber.com


Jul 18 '05 #7

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

Similar topics

2
5330
by: Markus Faust | last post by:
Hi, I'm trying to link Fortran files generated with “Compaq Visual Fortran Optimizing Compiler Version 6.6 (Update B)” under “Enthought Edition build 1028, Python 2.3 (#46, Aug 11 2003, 09:34:05) on win32” on Windows-XP”. I changed mingw32_support.py as proposed by Pearu Peterson on April 8 2003 (I changed `if 1:` block into `if 0:` block). When trying the following Python session:
7
6405
by: Anthony Baxter | last post by:
I'm trying to build a binary of fastaudio (the wrapper for the PortAudio library, from http://www.freenet.org.nz/python/pyPortAudio/) for Python 2.3. There's a lot of FAQs and the like out there that give some simple directions, involving fetching the .net sdk from MSDN and distutils "should work" - however, when I follow them and try to do the setup.py build step, I get a message: error: Python was built with version 6 of Visual Studio,...
6
2381
by: Fuzzyman | last post by:
I'll post this to the image-sig as well, but the audience is a bit wider here. I've just upgraded to Python 2.4. I've installed the free microsoft optimising compiler and hacked distutils to use it - following the instructiosn from http://www.vrplumber.com/programming/mstoolkit/ . It works great and I've built a windows installer for PyCrypto 2.0. I'm attempting to compile PIL for python 2.4. The build instructions for windows say :
2
2962
by: Ney André de Mello Zunino | last post by:
Hello. I gladly learned yesterday that Microsoft was making the Visual C++ Toolkit 2003 available for free. Today, I downloaded and installed it and went on to try building some simple applications. I quickly found out that the toolkit does not come with the multi-threaded versions of the runtime, such as the one I needed to build a bare-bone SDL sample. Does anyone know why they have chosen to not include them and if there is anything...
19
477
by: Jonathan Wilson | last post by:
Is it possible to use vcbuild with the free MS compiler toolkit, as in can someone with just the MS toolkit and no access to a copy of Visual Studio itself use vcbuild to compile a Visual Studio .NET 2003 project? Assuming it is possible, I can then work on getting my specific project to compile under vcbuild+platform SDK+Visual C++ compiler toolkit
0
1344
by: Andreas | last post by:
Extension: --------------- pyshapelib 0.3 with Python 2.4 Problem: ------------- D:\Python24\Lib\site-packages\shapelib\setup>pytest.py Traceback (most recent call last): File "D:\Python24\Lib\site-packages\shapelib\setup\pytest.py", line 1, in ?
27
3997
by: Julien Fiore | last post by:
Do you wand to install Pyrex on Windows ? Here is a step-by-step guide explaining: A) how to install Pyrex on Windows XP. B) how to compile a Pyrex module. Julien Fiore, U. of Geneva
3
3827
by: alexandre_irrthum | last post by:
Hi there, I am trying to install a Python library with a C extension (the Polygon library) and I am having a bad time. My Python version is Python 2.4.3 - Enthought Edition 1.0.0 (#69, Aug 2 2006, 12:09:59) on Windows XP Pro. I have dutifully followed the instructions here: http://wiki.python.org/moin/Building_Python_with_the_free_MS_C_Toolkit
6
2328
by: alf | last post by:
Hi, I want to add some library but it can not be comipled? Here is an output: D:\>cl Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.42 for 80x86 Copyright (C) Microsoft Corporation. All rights reserved.
6
2591
by: Christian Heimes | last post by:
inhahe schrieb: I assume you are trying to compile Python 2.5 with VS 9.0. It's not supported. Some extensions don't compile under VS 9.0 Christian
0
9990
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9837
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,...
0
11250
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...
1
10939
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
10476
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
9655
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
8031
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
6073
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
3
3299
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.