Page 1 of 2

Can't load IMCLIENT.DLL

Posted: Thu Mar 01, 2012 12:27 am
by Djiber
Hi I'm John and I've recently started programing in XBase

I have problem with IM program so I'm posting a question here.

The problem is when I start ImClient.exe I get an error that say Cannot Load IMCLIENT.DLL even tho DLL is in same folder as EXE and I even copyed it in System32.
rdonnay wrote: I suspect that the problem you are having is that you need to rebuild IMCLIENT.DLL and IMSERVER.EXE using the same version of Xbase++ as you have installed.
I've started IMSERVER but had to use Debug from Visual XBase++ cause runing it from cmd didn't work (application was closed instantly after starting it).
I've rebuilded both projects (IMCLIENT and IMSERVER) and it didn't help, my problem with IMCLIENT.DLL still persist.
I'm using XBase++ 1,90 SL1

Hope someone knows where's the problem and he is willing to help me

Best Regards,
John Doe

Re: Can't load IMCLIENT.DLL

Posted: Thu Mar 01, 2012 9:22 am
by rdonnay
Mr. Doe -

I am suspecting that you have either a wrong version .DLL or a missing .DLL.
You need Xb2Net.Dll.

Here is a utility that will help you:

http://donnay-software.com:8080/donnay/chk4dll.exe.

Run Chk4dll IMCLIENT.EXE.

This will tell you which .DLL cannot be loaded.

Re: Can't load IMCLIENT.DLL

Posted: Fri Mar 02, 2012 7:50 am
by Djiber
Thank you for the utility, but it didn't help.

Utility returned that all 4 DLL's can be Loaded (by all 4 I mean it didn't list more) and didn't even listed IMCLIENT.DLL or XB2NET.DLL even tho like I've said before they are in the same folder as EXE (bin19_sl1)

Over the weekend I'll try to edit the code outside the Visual XBase++ and try to compile it with cmd and xpp, I've done some research and sounds like it could help.

Re: Can't load IMCLIENT.DLL

Posted: Mon Mar 05, 2012 1:28 am
by Djiber
Compiling it in cmd with xpp worked and now I can start both with .exe (For Server I had to create shortcut and in Path add .\User Pass).

I've noticed that there's message log in IMMSG.DBF and now cause I'm new to all XBase I'm learning by editing to see what and ho it can be accomplished so I've tried to create DBF that will get all fields filled from IMMSG and that would separate messages for a single user but every time my code generate corrupted DBF (Even tho if I put it in new PRG and compile it DBF isn't corrupted).

This is my code for creating DBF:

Code: Select all

IF ! File("Manj.dbf")
 adbf := {}
 AADD(adbf, { "User_ID", "C", 20, 0 })
 AADD(adbf, { "Message", "C", 50, 0 })
 AADD(adbf, { "Datum",	"D", 10, 0 })
 AADD(adbf, { "Vri_P",	"C", 5, 0 })
 AADD(adbf, { "Vri_K",	"C", 5, 0 })
DBCREATE("Manj.dbf", adbf)
ENDIF

Re: Can't load IMCLIENT.DLL

Posted: Mon Mar 05, 2012 1:49 am
by skiman
Hi,

Date is length 8. You are using 10.

Re: Can't load IMCLIENT.DLL

Posted: Mon Mar 05, 2012 2:49 am
by Djiber
skiman wrote:Hi,

Date is length 8. You are using 10.
TY, I'll try, but isn't Date 00/00/0000 or 00.00.0000 so / and . makes it 10?

Re: Can't load IMCLIENT.DLL

Posted: Mon Mar 05, 2012 3:42 am
by Tom
The date type is internally represented by a number, which has 8 bytes. MM/DD/YYYY is just a transformation you see.

Re: Can't load IMCLIENT.DLL

Posted: Mon Mar 05, 2012 5:25 am
by Djiber
I've tried with 8 and it's still corrupted and still if that was the problem why DBF isn't corrupted if I create it from a different PRG file?

Re: Can't load IMCLIENT.DLL

Posted: Mon Mar 05, 2012 9:56 am
by rdonnay
How do you know that it is corrupted? What error message are you getting?

It could be that you are opening it with the wrong DBE.

You may have created it with the DBFDBE and are trying to open it with FOXDBE.

Re: Can't load IMCLIENT.DLL

Posted: Wed Mar 07, 2012 2:05 am
by Djiber
Any suggestions for DBE?
And where do I decide tool with which I want to create DBF?

Main mystery to me is: DBF's you created aren't corrupted (except SENDMAIL.DBF) I edit your code just to add 1 more DBF and that DBF is corrupted (I presume it's using same tool to create mine DBF as it did yours cause it's in same PRG and I compile it with xpp in cmd) and after all same code for creating mine DBF works in a separate PRG file. I've tried to find some difference between creation SENDMAIL.DBF and all others, but didn't manage to find it (but maybe that's just mine lack of experience in XBase programming)

Good DBF file:
Image

Error I get when I open corrupted file with excel:
Image
Error I get when I open corrupted file with dbu:
Image
Translation: "File you are trying to open is in different format then it's extension. Before you open it check is it damaged and is it from reliable source. Do you want to open it anyway",I get that error when I try to open it with Excel (It opens all other DBF files fine except mine and SENDMAIL.DBF that's created by your project)

Corrupted DBF file:
Image
As you can see all columns are merged in 1 field of DBF and have some strange symbols.