It works if I use ARB multitexturing, but as soon as I try to use the shader I get the error.

I load the ARB extensions for multitexturing and shaders, ie. GL_ARB_multitexture and GL_ARB_shader_objects, do I need something else too? Do I need to initialize the OpenGL pipeline for shaders before using them? Doesn't seem likely as I can load and compile the shaders and the driver says: "Link successful. The GLSL vertex shader will run in hardware. The GLSL fragment shader will run in hardware."

Here's my OpenGL initialization code:
[pascal]
glClearColor(0.0, 0.0, 0.0, 0.0);
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
glEnable(GL_DEPTH_TEST);
glEnable(GL_CULL_FACE);
glEnable(GL_DEPTH_TEST);
glCullFace(GL_BACK);
glFrontFace(GL_CCW);
glShadeModel(GL_SMOOTH);
glMatrixMode(GL_MODELVIEW);
glEnable(GL_TEXTURE_2D);
[/pascal]

Didn't find any documentation to explain what can I do and what I cannot do when using shaders...