Re: D1: Trying to update Juno Library to 1.076

2019-08-23 Thread jicman via Digitalmars-d-learn

On Friday, 23 August 2019 at 20:33:30 UTC, jicman wrote:
I actually have more problems.  After fixing that problem, 
others have surfaced.  How does one knows which which are the 
correct names of the undefined symbols?  For example:


OPTLINK (R) for Win32  Release 8.00.16
Copyright (C) Digital Mars 1989-2013  All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
PMORpts.obj(PMORpts)
 Error 42: Symbol Undefined __d_arrayliteralTX
c:\D\import\juno\locale\core.obj(core)
 Error 42: Symbol Undefined __aaEqual

I have searched all over within the code for the project for 
'__d_arrayliteralTX' and various pieces of that (\Wd\Warray, d, 
literal, etc.), and have not found anything.  Just as 'Equal', 
and nothing.  Is there a way to know what is the reference 
within the code for those obscure symbols?


By the way, I have fixed all back to the way it was. ;-)  
Thanks.
 The only problem now is trying to figure out where do these 
symbols come from. Thanks again for the help.


josé


Ignore the error.  I still had an old 1.046 lib in the 1.076 lib 
folder.  After that, it compiled with 1.076.  I made changes to 
the code, it it stills compiles.  I am a happy guy. ;-)  Thanks 
for all your help.


josé


Re: D1: Trying to update Juno Library to 1.076

2019-08-23 Thread jicman via Digitalmars-d-learn

On Friday, 23 August 2019 at 19:35:52 UTC, a11e99z wrote:

On Friday, 23 August 2019 at 17:50:52 UTC, jicman wrote:

On Friday, 23 August 2019 at 17:18:55 UTC, a11e99z wrote:

On Friday, 23 August 2019 at 17:03:24 UTC, jicman wrote:

On Friday, 23 August 2019 at 16:49:07 UTC, a11e99z wrote:

right now problem exists with linker/libs only, compiler see


another try:
zip ur dmd 1.076 folder (for easy restoring it when something 
go wrong)

copy lib files from 1.046\lib\*.lib to 1.076\lib\*.lib
try to compile program again with dmd 1.076


TA-DAH!  Weird stuff.  The 1.046 libraries worked.  Very weird 
stuff.  Now to try to figure out how that happened, since I 
took **all** 1.076 from the download site.  Which means, that 
it may be have outdated libraries.  That's for another day, 
though.  Muchas gracias, as we say in Spanish.  But, I'll 
translate for you, Thanks very much.


josé


oops!
better to restore 1.076 back
and copy only Windows libs (not all DRT and others)
one by one till compilation errors dissapear:
oleaut32.lib
ole32.lib
rpcrt4.lib
...



WHAT!!! YOU MAKE ME MOVE ALL OF THE LIBS TO THE WRONG PLACE?  
Just kidding. He he he he...


I actually have more problems.  After fixing that problem, others 
have surfaced.  How does one knows which which are the correct 
names of the undefined symbols?  For example:


OPTLINK (R) for Win32  Release 8.00.16
Copyright (C) Digital Mars 1989-2013  All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
PMORpts.obj(PMORpts)
 Error 42: Symbol Undefined __d_arrayliteralTX
c:\D\import\juno\locale\core.obj(core)
 Error 42: Symbol Undefined __aaEqual

I have searched all over within the code for the project for 
'__d_arrayliteralTX' and various pieces of that (\Wd\Warray, d, 
literal, etc.), and have not found anything.  Just as 'Equal', 
and nothing.  Is there a way to know what is the reference within 
the code for those obscure symbols?


By the way, I have fixed all back to the way it was. ;-)  Thanks. 
 The only problem now is trying to figure out where do these 
symbols come from. Thanks again for the help.


josé


Re: D1: Trying to update Juno Library to 1.076

2019-08-23 Thread a11e99z via Digitalmars-d-learn

On Friday, 23 August 2019 at 17:50:52 UTC, jicman wrote:

On Friday, 23 August 2019 at 17:18:55 UTC, a11e99z wrote:

On Friday, 23 August 2019 at 17:03:24 UTC, jicman wrote:

On Friday, 23 August 2019 at 16:49:07 UTC, a11e99z wrote:

right now problem exists with linker/libs only, compiler see


another try:
zip ur dmd 1.076 folder (for easy restoring it when something 
go wrong)

copy lib files from 1.046\lib\*.lib to 1.076\lib\*.lib
try to compile program again with dmd 1.076


TA-DAH!  Weird stuff.  The 1.046 libraries worked.  Very weird 
stuff.  Now to try to figure out how that happened, since I 
took **all** 1.076 from the download site.  Which means, that 
it may be have outdated libraries.  That's for another day, 
though.  Muchas gracias, as we say in Spanish.  But, I'll 
translate for you, Thanks very much.


josé


oops!
better to restore 1.076 back
and copy only Windows libs (not all DRT and others)
one by one till compilation errors dissapear:
oleaut32.lib
ole32.lib
rpcrt4.lib
...


Re: D1: Trying to update Juno Library to 1.076

2019-08-23 Thread jicman via Digitalmars-d-learn

On Friday, 23 August 2019 at 17:18:55 UTC, a11e99z wrote:

On Friday, 23 August 2019 at 17:03:24 UTC, jicman wrote:

On Friday, 23 August 2019 at 16:49:07 UTC, a11e99z wrote:
right now problem exists with linker/libs only, compiler see 
all used VarXXX


First of all, thanks for your patient support.

to the above program, and still fails with the same error.  I 
also went and downloaded the latest D1 linker, and that also 
results in the same failure.


another try:
zip ur dmd 1.076 folder (for easy restoring it when something 
go wrong)

copy lib files from 1.046\lib\*.lib to 1.076\lib\*.lib
try to compile program again with dmd 1.076


TA-DAH!  Weird stuff.  The 1.046 libraries worked.  Very weird 
stuff.  Now to try to figure out how that happened, since I took 
**all** 1.076 from the download site.  Which means, that it may 
be have outdated libraries.  That's for another day, though.  
Muchas gracias, as we say in Spanish.  But, I'll translate for 
you, Thanks very much.


josé


Re: D1: Trying to update Juno Library to 1.076

2019-08-23 Thread a11e99z via Digitalmars-d-learn

On Friday, 23 August 2019 at 17:03:24 UTC, jicman wrote:

On Friday, 23 August 2019 at 16:49:07 UTC, a11e99z wrote:
right now problem exists with linker/libs only, compiler see 
all used VarXXX


First of all, thanks for your patient support.

to the above program, and still fails with the same error.  I 
also went and downloaded the latest D1 linker, and that also 
results in the same failure.


another try:
zip ur dmd 1.076 folder (for easy restoring it when something go 
wrong)

copy lib files from 1.046\lib\*.lib to 1.076\lib\*.lib
try to compile program again with dmd 1.076



Re: D1: Trying to update Juno Library to 1.076

2019-08-23 Thread jicman via Digitalmars-d-learn

On Friday, 23 August 2019 at 16:49:07 UTC, a11e99z wrote:
right now problem exists with linker/libs only, compiler see 
all used VarXXX


First of all, thanks for your patient support.

But, that function is being used throughout.  Also, the same 
linker builds the whole project with D v1.046.


u can download LDC (if it exists) for D1 and try to compile 
program for D1


Pardon my lack of knowledge here, but what is LDC going to do 
that dmd is not able to do?



import std.stdio;
// i dont know right Windows modules for D1 so import what u 
have

void main() {
VARIANT a, b;
 	VarCmp( a, b, 0, 0 ); // D1 version cuz was VarCmp( ref 
VARIANT, ... )

}


added

import juno.com.core;

to the above program, and still fails with the same error.  I 
also went and downloaded the latest D1 linker, and that also 
results in the same failure.




Re: D1: Trying to update Juno Library to 1.076

2019-08-23 Thread a11e99z via Digitalmars-d-learn

On Friday, 23 August 2019 at 16:09:16 UTC, jicman wrote:

On Friday, 23 August 2019 at 16:02:38 UTC, a11e99z wrote:

On Friday, 23 August 2019 at 16:00:00 UTC, a11e99z wrote:

On Friday, 23 August 2019 at 14:02:36 UTC, jicman wrote:

On Thursday, 22 August 2019 at 19:59:55 UTC, jicman wrote:


cuz I tried compile app

void main() { VARIANT a, b; VarCmp( , , 0, 0).writeln; }

with DMD for x86/m32 & x64/m64 and I also failed
but LDC can compile for x64
(x86 its failed too but probably cuz my ENV setupped for x64)


if somebody will try to compile that whole D-code for testing

import std, core.sys.windows.oaidl, core.sys.windows.oleauto;
void main() {
VARIANT a, b;
VarCmp( , , 0, 0 ).writeln;
}


That looks like D2 code. I am trying to compile D1 code.  I 
think the linker is not getting something right.


right now problem exists with linker/libs only, compiler see all 
used VarXXX
u can download LDC (if it exists) for D1 and try to compile 
program for D1


import std.stdio;
// i dont know right Windows modules for D1 so import what u have
void main() {
VARIANT a, b;
 	VarCmp( a, b, 0, 0 ); // D1 version cuz was VarCmp( ref 
VARIANT, ... )

}



Re: D1: Trying to update Juno Library to 1.076

2019-08-23 Thread jicman via Digitalmars-d-learn

On Friday, 23 August 2019 at 16:19:10 UTC, Mike Parker wrote:

On Friday, 23 August 2019 at 16:09:16 UTC, jicman wrote:


}


That looks like D2 code. I am trying to compile D1 code.  I 
think the linker is not getting something right.


You might try declaring the offending functions as 
extern(Windows) function pointers and then loading them from 
the appropriate DLLs via LoadLibrary/GetProcAddress. I had to 
do that with some Win32 functions I used back before we got 
support for COFF and the Windows SDK because, for whatever 
reason, they were missing from the OMF libs that ship with DMD.


I think you may be up to something, here.  I actually have 
declared them as extern(Window), ie.



extern(Windows):

void VariantInit(ref VARIANT pvarg);
int VariantClear(ref VARIANT pvarg);
int VariantCopy(ref VARIANT pvargDest, ref VARIANT pvargSrc);

int VarCmp(ref VARIANT pvarLeft, ref VARIANT pvarRight, uint 
lcid, uint dwFlags);
int VarAdd(ref VARIANT pvarLeft, ref VARIANT pvarRight, out 
VARIANT pvarResult);
int VarAnd(ref VARIANT pvarLeft, ref VARIANT pvarRight, out 
VARIANT pvarResult);
int VarCat(ref VARIANT pvarLeft, ref VARIANT pvarRight, out 
VARIANT pvarResult);
int VarDiv(ref VARIANT pvarLeft, ref VARIANT pvarRight, out 
VARIANT pvarResult);
int VarMod(ref VARIANT pvarLeft, ref VARIANT pvarRight, out 
VARIANT pvarResult);
int VarMul(ref VARIANT pvarLeft, ref VARIANT pvarRight, out 
VARIANT pvarResult);
int VarOr(ref VARIANT pvarLeft, ref VARIANT pvarRight, out 
VARIANT pvarResult);
int VarSub(ref VARIANT pvarLeft, ref VARIANT pvarRight, out 
VARIANT pvarResult);
int VarXor(ref VARIANT pvarLeft, ref VARIANT pvarRight, out 
VARIANT pvarResult);



So you have some sample piece of code that can guide me through 
loading the DLL using LoadLibrary/GetProcAddress?  I have not 
done that.  But, as you can see, VarAdd, VarAnd, ..., VarXor, are 
loading ok.  The only one in this one is VarCmp.  It could be 
that it may be missing from the list, as you say.


Re: D1: Trying to update Juno Library to 1.076

2019-08-23 Thread Mike Parker via Digitalmars-d-learn

On Friday, 23 August 2019 at 16:09:16 UTC, jicman wrote:


}


That looks like D2 code. I am trying to compile D1 code.  I 
think the linker is not getting something right.


You might try declaring the offending functions as 
extern(Windows) function pointers and then loading them from the 
appropriate DLLs via LoadLibrary/GetProcAddress. I had to do that 
with some Win32 functions I used back before we got support for 
COFF and the Windows SDK because, for whatever reason, they were 
missing from the OMF libs that ship with DMD.


Re: D1: Trying to update Juno Library to 1.076

2019-08-23 Thread jicman via Digitalmars-d-learn

On Friday, 23 August 2019 at 16:02:38 UTC, a11e99z wrote:

On Friday, 23 August 2019 at 16:00:00 UTC, a11e99z wrote:

On Friday, 23 August 2019 at 14:02:36 UTC, jicman wrote:

On Thursday, 22 August 2019 at 19:59:55 UTC, jicman wrote:


cuz I tried compile app

void main() { VARIANT a, b; VarCmp( , , 0, 0).writeln; }

with DMD for x86/m32 & x64/m64 and I also failed
but LDC can compile for x64
(x86 its failed too but probably cuz my ENV setupped for x64)


if somebody will try to compile that whole D-code for testing

import std, core.sys.windows.oaidl, core.sys.windows.oleauto;
void main() {
VARIANT a, b;
VarCmp( , , 0, 0 ).writeln;
}


That looks like D2 code. I am trying to compile D1 code.  I think 
the linker is not getting something right.


Re: D1: Trying to update Juno Library to 1.076

2019-08-23 Thread a11e99z via Digitalmars-d-learn

On Friday, 23 August 2019 at 16:00:00 UTC, a11e99z wrote:

On Friday, 23 August 2019 at 14:02:36 UTC, jicman wrote:

On Thursday, 22 August 2019 at 19:59:55 UTC, jicman wrote:


cuz I tried compile app

void main() { VARIANT a, b; VarCmp( , , 0, 0).writeln; }

with DMD for x86/m32 & x64/m64 and I also failed
but LDC can compile for x64
(x86 its failed too but probably cuz my ENV setupped for x64)


if somebody will try to compile that whole D-code for testing

import std, core.sys.windows.oaidl, core.sys.windows.oleauto;
void main() {
VARIANT a, b;
VarCmp( , , 0, 0 ).writeln;
}



Re: D1: Trying to update Juno Library to 1.076

2019-08-23 Thread a11e99z via Digitalmars-d-learn

On Friday, 23 August 2019 at 14:02:36 UTC, jicman wrote:

On Thursday, 22 August 2019 at 19:59:55 UTC, jicman wrote:
I think I have figured out what is going on.  I will comeback, 
if I need more help, but I have to rewrite a few more 
functions.  But, thanks for pointing out the pragma.  That 
gave me an idea of what was going on.




can u try to compile with LDC?

cuz I tried compile app

void main() { VARIANT a, b; VarCmp( , , 0, 0).writeln; }

with DMD for x86/m32 & x64/m64 and I also failed
but LDC can compile for x64
(x86 its failed too but probably cuz my ENV setupped for x64)



Re: D1: Trying to update Juno Library to 1.076

2019-08-23 Thread jicman via Digitalmars-d-learn

On Thursday, 22 August 2019 at 19:59:55 UTC, jicman wrote:
I think I have figured out what is going on.  I will comeback, 
if I need more help, but I have to rewrite a few more 
functions.  But, thanks for pointing out the pragma.  That gave 
me an idea of what was going on.


Well, I rewrote some of the code that I thought was messed up, 
and, yes, I need some help.  This is the program that I am trying 
to compile with D 1.076:


import juno.com.core;

void main()
{
}


and I am getting the same thing:

 9:27:57.59>build -IC:\D\import -version=Phobos junocore.d
OPTLINK (R) for Win32  Release 8.00.12
Copyright (C) Digital Mars 1989-2010  All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
C:\D\import\juno\com\core.obj(core)
 Error 42: Symbol Undefined _VarCmp@16
C:\D\import\juno\com\core.obj(core)
 Error 42: Symbol Undefined _VarDecNeg@8

What I am trying to do is to get rid of the first error:

 Error 42: Symbol Undefined _VarCmp@16

So, I can work on the other one (VarDecNeg).  These are the two 
pragmas I have in the juno.com.core module:


pragma(lib, "ole32.lib");
pragma(lib, "oleaut32.lib");

These are the functions called from oleaut32.lib:

extern(Windows):

void VariantInit(ref VARIANT pvarg);
int VariantClear(ref VARIANT pvarg);
int VariantCopy(ref VARIANT pvargDest, ref VARIANT pvargSrc);

int VarAdd(ref VARIANT pvarLeft, ref VARIANT pvarRight, out 
VARIANT pvarResult);
int VarAnd(ref VARIANT pvarLeft, ref VARIANT pvarRight, out 
VARIANT pvarResult);
int VarCat(ref VARIANT pvarLeft, ref VARIANT pvarRight, out 
VARIANT pvarResult);
int VarDiv(ref VARIANT pvarLeft, ref VARIANT pvarRight, out 
VARIANT pvarResult);
int VarMod(ref VARIANT pvarLeft, ref VARIANT pvarRight, out 
VARIANT pvarResult);
int VarMul(ref VARIANT pvarLeft, ref VARIANT pvarRight, out 
VARIANT pvarResult);
int VarOr(ref VARIANT pvarLeft, ref VARIANT pvarRight, out 
VARIANT pvarResult);
int VarSub(ref VARIANT pvarLeft, ref VARIANT pvarRight, out 
VARIANT pvarResult);
int VarXor(ref VARIANT pvarLeft, ref VARIANT pvarRight, out 
VARIANT pvarResult);
int VarCmp(ref VARIANT pvarLeft, ref VARIANT pvarRight, uint 
lcid, uint dwFlags);


As you can see, VarCmp is there (last one), so why does the 
linker thinks that it's undefined?  Any help would be greatly 
appreciated. Thanks.


josé





Re: D1: Trying to update Juno Library to 1.076

2019-08-22 Thread jicman via Digitalmars-d-learn

On Thursday, 22 August 2019 at 18:54:50 UTC, jicman wrote:

On Thursday, 22 August 2019 at 18:26:52 UTC, jicman wrote:


OPTLINK (R) for Win32  Release 8.00.12
Copyright (C) Digital Mars 1989-2010  All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
c:\D\import\juno\com\core.obj(core)
 Error 42: Symbol Undefined _VarCmp@16
c:\D\import\juno\com\core.obj(core)
 Error 42: Symbol Undefined _VarDecNeg@8

As you can see, there is nothing there...


So, I did a search through all the code and found these lines,

  int opCmp(VARIANT that) {
  return VarCmp(*this, that, GetThreadLocale(), 0) - 1;
  }

and

  int VarDecNeg(DECIMAL* pdecIn, out DECIMAL pdecResult);

Which I think call Kernel32.lib.  I found GetThreadLocale [1], 
but after adding,


pragma(lib, "Kernel32.lib");

to the file, still get the same problem. (I also deleted all 
.obj files and recompiled.  The interesting part is that 1.046 
compiler, compiles and links. Interesting phenomenon.


josé

[1] 
https://docs.microsoft.com/en-us/windows/win32/api/winnls/nf-winnls-getthreadlocale



I think I have figured out what is going on.  I will comeback, if 
I need more help, but I have to rewrite a few more functions.  
But, thanks for pointing out the pragma.  That gave me an idea of 
what was going on.


josé


Re: D1: Trying to update Juno Library to 1.076

2019-08-22 Thread jicman via Digitalmars-d-learn

On Thursday, 22 August 2019 at 17:34:01 UTC, a11e99z wrote:

On Thursday, 22 August 2019 at 16:59:03 UTC, jicman wrote:

These are the options for dmd 1.076:



  -v verbose


Well, this one is definitely verbose. ;-)  But, I don't see 
anything in it that will help. But, here it goes:


The run command...
13:56:23.40>c:\D\bin\build -I..;c:\D\import -v -version=gui 
-version=Phobos PMORpts.res PMORpts.d > c:\temp\build_out.txt


And this is the content of c:\temp\build_out.txt Part 1:

binaryc:\D\dmd1.76\dmd\windows\bin\dmd.exe
version   v1.076
configc:\D\dmd1.76\dmd\windows\bin\sc.ini
parse menu
parse collections
parse listbox
parse messagebox
parse notifyicon
parse richtextbox
parse treeview
parse imagelist
parse tabcontrol
parse listview
parse toolbar
parse MyCGICalls
parse UserGUI
parse VendorGUI
parse QuotingEntries
parse techsupportemail
parse PMTimeEntry
parse FileConverter
parse pleasewait
parse ChangeTranslationPrices
parse ChangeSimplePrices
importall menu
importobject(c:\D\dmd1.76\dmd\src\phobos\object.d)
importdfl.internal.dlib (c:\D\import\dfl\internal\dlib.d)
importdfl.internal.d1   (c:\D\import\dfl\internal\d1.d)
importstd.traits(c:\D\dmd1.76\dmd\src\phobos\std\traits.d)
importstd.gc(c:\D\dmd1.76\dmd\src\phobos\std\gc.d)
importgcstats   (c:\D\dmd1.76\dmd\src\phobos\gcstats.d)
importstd.string(c:\D\dmd1.76\dmd\src\phobos\std\string.d)
importstd.stdio (c:\D\dmd1.76\dmd\src\phobos\std\stdio.d)
importstd.c.stdio   (c:\D\dmd1.76\dmd\src\phobos\std\c\stdio.d)
import
std.c.stddef	(c:\D\dmd1.76\dmd\src\phobos\std\c\stddef.d)
import
std.c.stdarg	(c:\D\dmd1.76\dmd\src\phobos\std\c\stdarg.d)

importstd.format(c:\D\dmd1.76\dmd\src\phobos\std\format.d)
importstd.stdarg(c:\D\dmd1.76\dmd\src\phobos\std\stdarg.d)
importstd.utf   (c:\D\dmd1.76\dmd\src\phobos\std\utf.d)
import
std.c.stdlib	(c:\D\dmd1.76\dmd\src\phobos\std\c\stdlib.d)
import
std.c.string	(c:\D\dmd1.76\dmd\src\phobos\std\c\string.d)

importstd.uni   (c:\D\dmd1.76\dmd\src\phobos\std\uni.d)
importstd.array (c:\D\dmd1.76\dmd\src\phobos\std\array.d)
importstd.ctype (c:\D\dmd1.76\dmd\src\phobos\std\ctype.d)
importstd.path  (c:\D\dmd1.76\dmd\src\phobos\std\path.d)
import
std.outofmemory	(c:\D\dmd1.76\dmd\src\phobos\std\outofmemory.d)

importstd.conv  (c:\D\dmd1.76\dmd\src\phobos\std\conv.d)
importstd.math  (c:\D\dmd1.76\dmd\src\phobos\std\math.d)
importstd.c.math(c:\D\dmd1.76\dmd\src\phobos\std\c\math.d)
importstd.stream(c:\D\dmd1.76\dmd\src\phobos\std\stream.d)
importstd.system(c:\D\dmd1.76\dmd\src\phobos\std\system.d)
import
std.intrinsic	(c:\D\dmd1.76\dmd\src\phobos\std\intrinsic.d)

importstd.file  (c:\D\dmd1.76\dmd\src\phobos\std\file.d)
importstd.regexp(c:\D\dmd1.76\dmd\src\phobos\std\regexp.d)
import
std.outbuffer	(c:\D\dmd1.76\dmd\src\phobos\std\outbuffer.d)
import
std.bitarray	(c:\D\dmd1.76\dmd\src\phobos\std\bitarray.d)
import
std.c.windows.windows	(c:\D\dmd1.76\dmd\src\phobos\std\c\windows\windows.d)
import
std.windows.syserror	(c:\D\dmd1.76\dmd\src\phobos\std\windows\syserror.d)
import
std.windows.charset	(c:\D\dmd1.76\dmd\src\phobos\std\windows\charset.d)

importstd.date  (c:\D\dmd1.76\dmd\src\phobos\std\date.d)
import
std.dateparse	(c:\D\dmd1.76\dmd\src\phobos\std\dateparse.d)

importstd.mmfile(c:\D\dmd1.76\dmd\src\phobos\std\mmfile.d)
importdfl.internal.winapi   (c:\D\import\dfl\internal\winapi.d)
importdfl.internal.wincom   (c:\D\import\dfl\internal\wincom.d)
import
std.c.windows.com	(c:\D\dmd1.76\dmd\src\phobos\std\c\windows\com.d)

importdfl.control   (c:\D\import\dfl\control.d)
importdfl.internal.clib (c:\D\import\dfl\internal\clib.d)
importstd.stdint(c:\D\dmd1.76\dmd\src\phobos\std\stdint.d)
importdfl.base  (c:\D\import\dfl\base.d)
importdfl.drawing   (c:\D\import\dfl\drawing.d)
importdfl.internal.utf  (c:\D\import\dfl\internal\utf.d)
importdfl.internal.com  (c:\D\import\dfl\internal\com.d)
importdfl.event (c:\D\import\dfl\event.d)
importdfl.form  (c:\D\import\dfl\form.d)
importdfl.application   (c:\D\import\dfl\application.d)
importdfl.label (c:\D\import\dfl\label.d)
importdfl.button(c:\D\import\dfl\button.d)
importdfl.textbox   (c:\D\import\dfl\textbox.d)
importdfl.environment   (c:\D\import\dfl\environment.d)
importdfl.resources (c:\D\import\dfl\resources.d)
importdfl.data  (c:\D\import\dfl\data.d)
importall collections
importall listbox
importall messagebox
importall notifyicon
importall richtextbox
importall treeview
importall imagelist
importall tabcontrol
importdfl.panel (c:\D\import\dfl\panel.d)
importall listview
importall toolbar
importall 

Re: D1: Trying to update Juno Library to 1.076

2019-08-22 Thread jicman via Digitalmars-d-learn

On Thursday, 22 August 2019 at 18:26:52 UTC, jicman wrote:


OPTLINK (R) for Win32  Release 8.00.12
Copyright (C) Digital Mars 1989-2010  All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
c:\D\import\juno\com\core.obj(core)
 Error 42: Symbol Undefined _VarCmp@16
c:\D\import\juno\com\core.obj(core)
 Error 42: Symbol Undefined _VarDecNeg@8

As you can see, there is nothing there...


So, I did a search through all the code and found these lines,

  int opCmp(VARIANT that) {
  return VarCmp(*this, that, GetThreadLocale(), 0) - 1;
  }

and

  int VarDecNeg(DECIMAL* pdecIn, out DECIMAL pdecResult);

Which I think call Kernel32.lib.  I found GetThreadLocale [1], 
but after adding,


pragma(lib, "Kernel32.lib");

to the file, still get the same problem. (I also deleted all .obj 
files and recompiled.  The interesting part is that 1.046 
compiler, compiles and links. Interesting phenomenon.


josé

[1] 
https://docs.microsoft.com/en-us/windows/win32/api/winnls/nf-winnls-getthreadlocale


Re: D1: Trying to update Juno Library to 1.076

2019-08-22 Thread jicman via Digitalmars-d-learn

On Thursday, 22 August 2019 at 18:20:09 UTC, jicman wrote:

On Thursday, 22 August 2019 at 17:34:01 UTC, a11e99z wrote:

On Thursday, 22 August 2019 at 16:59:03 UTC, jicman wrote:

These are the options for dmd 1.076:



  -v verbose


Well, this one is definitely verbose. ;-)  But, I don't see 
anything in it that will help. But, here it goes:


The run command...
13:56:23.40>c:\D\bin\build -I..;c:\D\import -v -version=gui 
-version=Phobos PMORpts.res PMORpts.d > c:\temp\build_out.txt


And this is the content of c:\temp\build_out.txt Part 1:


Continuation...

code  treeview
function  dfl.treeview.TreeViewCancelEventArgs.this
function  dfl.treeview.TreeViewCancelEventArgs.action
function  dfl.treeview.TreeViewCancelEventArgs.node
function  dfl.treeview.TreeViewEventArgs.this
function  dfl.treeview.TreeViewEventArgs.this
function  dfl.treeview.TreeViewEventArgs.action
function  dfl.treeview.TreeViewEventArgs.node
function  dfl.treeview.NodeLabelEditEventArgs.this
function  dfl.treeview.NodeLabelEditEventArgs.this
function  dfl.treeview.NodeLabelEditEventArgs.node
function  dfl.treeview.NodeLabelEditEventArgs.label
function  dfl.treeview.NodeLabelEditEventArgs.cancelEdit
function  dfl.treeview.NodeLabelEditEventArgs.cancelEdit
function  dfl.treeview.TreeNode.this
function  dfl.treeview.TreeNode.this
function  dfl.treeview.TreeNode.this
function  dfl.treeview.TreeNode.this
function  dfl.treeview.TreeNode.bounds
function  dfl.treeview.TreeNode.firstNode
function  dfl.treeview.TreeNode.fullPath
function  dfl.treeview.TreeNode.fullPath.__foreachbody357
function  dfl.treeview.TreeNode.handle
function  dfl.treeview.TreeNode.index
function  dfl.treeview.TreeNode.isExpanded
function  dfl.treeview.TreeNode.isSelected
function  dfl.treeview.TreeNode.lastNode
function  dfl.treeview.TreeNode.nextNode
function  dfl.treeview.TreeNode.nodes
function  dfl.treeview.TreeNode.parent
function  dfl.treeview.TreeNode.prevNode
function  dfl.treeview.TreeNode.tag
function  dfl.treeview.TreeNode.tag
function  dfl.treeview.TreeNode.text
function  dfl.treeview.TreeNode.text
function  dfl.treeview.TreeNode.treeView
function  dfl.treeview.TreeNode.beginEdit
function  dfl.treeview.TreeNode.ensureVisible
function  dfl.treeview.TreeNode.collapse
function  dfl.treeview.TreeNode.expand
function  dfl.treeview.TreeNode.expandAll
function  dfl.treeview.TreeNode.fromHandle
function  dfl.treeview.TreeNode.remove
function  dfl.treeview.TreeNode.toggle
function  dfl.treeview.TreeNode.imageIndex
function  dfl.treeview.TreeNode.imageIndex
function  dfl.treeview.TreeNode.toString
function  dfl.treeview.TreeNode.opEquals
function  dfl.treeview.TreeNode.opEquals
function  dfl.treeview.TreeNode.opEquals
function  dfl.treeview.TreeNode.opCmp
function  dfl.treeview.TreeNode.opCmp
function  dfl.treeview.TreeNode.opCmp
function  dfl.treeview.TreeNode.created
function  dfl.treeview.TreeNode.isState
function  dfl.treeview.TreeNode._reset
function  dfl.treeview.TreeNodeCollection.add
function  dfl.treeview.TreeNodeCollection.add
function  dfl.treeview.TreeNodeCollection.add
function  dfl.treeview.TreeNodeCollection.addRange
function  dfl.treeview.TreeNodeCollection.addRange
function  dfl.treeview.TreeNodeCollection.addRange
function  dfl.treeview.TreeNodeCollection._reset
function  dfl.treeview.TreeNodeCollection._resetHandles
function  dfl.treeview.TreeNodeCollection.verifyNoParent
function  dfl.treeview.TreeNodeCollection.this
function  dfl.treeview.TreeNodeCollection.setTreeView
function  dfl.treeview.TreeNodeCollection.created
function  dfl.treeview.TreeNodeCollection.populateInsertChildNode
function  dfl.treeview.TreeNodeCollection.doNodes
function  dfl.treeview.TreeNodeCollection._added
function  dfl.treeview.TreeNodeCollection._removing
function  dfl.treeview.TreeNodeCollection._removed
function  
dfl.treeview.TreeNodeCollection.ListWrapArray!(TreeNode,_nodes,_blankListCallback,_added,_removing,_removed,true,false,false).OpApplyWrapArray!(TreeNode,_nodes).opApply
function  
dfl.treeview.TreeNodeCollection.ListWrapArray!(TreeNode,_nodes,_blankListCallback,_added,_removing,_removed,true,false,false).OpApplyWrapArray!(TreeNode,_nodes).opApply
function  
dfl.treeview.TreeNodeCollection.ListWrapArray!(TreeNode,_nodes,_blankListCallback,_added,_removing,_removed,true,false,false).opIndexAssign
function  
dfl.treeview.TreeNodeCollection.ListWrapArray!(TreeNode,_nodes,_blankListCallback,_added,_removing,_removed,true,false,false).opIndexAssign
function  
dfl.treeview.TreeNodeCollection.ListWrapArray!(TreeNode,_nodes,_blankListCallback,_added,_removing,_removed,true,false,false).opIndex
function  
dfl.treeview.TreeNodeCollection.ListWrapArray!(TreeNode,_nodes,_blankListCallback,_added,_removing,_removed,true,false,false).add_internal
function  
dfl.treeview.TreeNodeCollection.ListWrapArray!(TreeNode,_nodes,_blankListCallback,_added,_removing,_removed,true,false,false).add_internal
function  

Re: D1: Trying to update Juno Library to 1.076

2019-08-22 Thread jicman via Digitalmars-d-learn

On Thursday, 22 August 2019 at 18:25:44 UTC, jicman wrote:

On Thursday, 22 August 2019 at 18:20:09 UTC, jicman wrote:

On Thursday, 22 August 2019 at 17:34:01 UTC, a11e99z wrote:

On Thursday, 22 August 2019 at 16:59:03 UTC, jicman wrote:

These are the options for dmd 1.076:



  -v verbose


Well, this one is definitely verbose. ;-)  But, I don't see 
anything in it that will help. But, here it goes:


The run command...
13:56:23.40>c:\D\bin\build -I..;c:\D\import -v -version=gui 
-version=Phobos PMORpts.res PMORpts.d > c:\temp\build_out.txt


And this is the content of c:\temp\build_out.txt Part 1:


Continuation...


final one...

code  listview
function  dfl.listview.getCallText
function  dfl.listview.ListViewSubItem.this
function  dfl.listview.ListViewSubItem.this
function  dfl.listview.ListViewSubItem.this
function  dfl.listview.ListViewSubItem.settextin
function  dfl.listview.ListViewSubItem.toString
function  dfl.listview.ListViewSubItem.opEquals
function  dfl.listview.ListViewSubItem.opEquals
function  dfl.listview.ListViewSubItem.opCmp
function  dfl.listview.ListViewSubItem.opCmp
function  dfl.listview.ListViewSubItem.text
function  dfl.listview.ListViewSubItem.text
function  dfl.listview.ListViewItem.ListViewSubItemCollection.this
function  
dfl.listview.ListViewItem.ListViewSubItemCollection._adding
function  
dfl.listview.ListViewItem.ListViewSubItemCollection.ListWrapArray!(ListViewSubItem,_subs,_adding,_blankListCallback,_blankListCallback,_blankListCallback,true,false,false).OpApplyWrapArray!(ListViewSubItem,_subs).opApply
function  
dfl.listview.ListViewItem.ListViewSubItemCollection.ListWrapArray!(ListViewSubItem,_subs,_adding,_blankListCallback,_blankListCallback,_blankListCallback,true,false,false).OpApplyWrapArray!(ListViewSubItem,_subs).opApply
function  
dfl.listview.ListViewItem.ListViewSubItemCollection.ListWrapArray!(ListViewSubItem,_subs,_adding,_blankListCallback,_blankListCallback,_blankListCallback,true,false,false).opIndexAssign
function  
dfl.listview.ListViewItem.ListViewSubItemCollection.ListWrapArray!(ListViewSubItem,_subs,_adding,_blankListCallback,_blankListCallback,_blankListCallback,true,false,false).opIndexAssign
function  
dfl.listview.ListViewItem.ListViewSubItemCollection.ListWrapArray!(ListViewSubItem,_subs,_adding,_blankListCallback,_blankListCallback,_blankListCallback,true,false,false).opIndex
function  
dfl.listview.ListViewItem.ListViewSubItemCollection.ListWrapArray!(ListViewSubItem,_subs,_adding,_blankListCallback,_blankListCallback,_blankListCallback,true,false,false).add_internal
function  
dfl.listview.ListViewItem.ListViewSubItemCollection.ListWrapArray!(ListViewSubItem,_subs,_adding,_blankListCallback,_blankListCallback,_blankListCallback,true,false,false).add_internal
function  
dfl.listview.ListViewItem.ListViewSubItemCollection.ListWrapArray!(ListViewSubItem,_subs,_adding,_blankListCallback,_blankListCallback,_blankListCallback,true,false,false).clear
function  
dfl.listview.ListViewItem.ListViewSubItemCollection.ListWrapArray!(ListViewSubItem,_subs,_adding,_blankListCallback,_blankListCallback,_blankListCallback,true,false,false).contains
function  
dfl.listview.ListViewItem.ListViewSubItemCollection.ListWrapArray!(ListViewSubItem,_subs,_adding,_blankListCallback,_blankListCallback,_blankListCallback,true,false,false).contains
function  
dfl.listview.ListViewItem.ListViewSubItemCollection.ListWrapArray!(ListViewSubItem,_subs,_adding,_blankListCallback,_blankListCallback,_blankListCallback,true,false,false).indexOf
function  
dfl.listview.ListViewItem.ListViewSubItemCollection.ListWrapArray!(ListViewSubItem,_subs,_adding,_blankListCallback,_blankListCallback,_blankListCallback,true,false,false).indexOf
function  
dfl.listview.ListViewItem.ListViewSubItemCollection.ListWrapArray!(ListViewSubItem,_subs,_adding,_blankListCallback,_blankListCallback,_blankListCallback,true,false,false)._insert
function  
dfl.listview.ListViewItem.ListViewSubItemCollection.ListWrapArray!(ListViewSubItem,_subs,_adding,_blankListCallback,_blankListCallback,_blankListCallback,true,false,false)._insert
function  
dfl.listview.ListViewItem.ListViewSubItemCollection.ListWrapArray!(ListViewSubItem,_subs,_adding,_blankListCallback,_blankListCallback,_blankListCallback,true,false,false).insert
function  
dfl.listview.ListViewItem.ListViewSubItemCollection.ListWrapArray!(ListViewSubItem,_subs,_adding,_blankListCallback,_blankListCallback,_blankListCallback,true,false,false).insert
function  
dfl.listview.ListViewItem.ListViewSubItemCollection.ListWrapArray!(ListViewSubItem,_subs,_adding,_blankListCallback,_blankListCallback,_blankListCallback,true,false,false).remove
function  
dfl.listview.ListViewItem.ListViewSubItemCollection.ListWrapArray!(ListViewSubItem,_subs,_adding,_blankListCallback,_blankListCallback,_blankListCallback,true,false,false).remove
function  

Re: D1: Trying to update Juno Library to 1.076

2019-08-22 Thread a11e99z via Digitalmars-d-learn

On Thursday, 22 August 2019 at 16:59:03 UTC, jicman wrote:

On Thursday, 22 August 2019 at 16:36:45 UTC, a11e99z wrote:

On Thursday, 22 August 2019 at 16:34:52 UTC, a11e99z wrote:

On Thursday, 22 August 2019 at 16:34:06 UTC, a11e99z wrote:

On Thursday, 22 August 2019 at 16:07:00 UTC, jicman wrote:

On Thursday, 22 August 2019 at 15:58:56 UTC, a11e99z wrote:


case of string doesn't matter for Windows.

I mean for command lines (not in D code)
and again I mean: file names are case insensitive fro Windows 
:)


Thanks. ;-)

Any specific one?  I am trying -debug, and it is giving me the 
same thing.  If I try -w, just gives me too many warnings.


 Error 42: Symbol Undefined _VarDecNeg@8

These are the options for dmd 1.076:



  -v verbose



Re: D1: Trying to update Juno Library to 1.076

2019-08-22 Thread jicman via Digitalmars-d-learn

On Thursday, 22 August 2019 at 16:36:45 UTC, a11e99z wrote:

On Thursday, 22 August 2019 at 16:34:52 UTC, a11e99z wrote:

On Thursday, 22 August 2019 at 16:34:06 UTC, a11e99z wrote:

On Thursday, 22 August 2019 at 16:07:00 UTC, jicman wrote:

On Thursday, 22 August 2019 at 15:58:56 UTC, a11e99z wrote:


case of string doesn't matter for Windows.

I mean for command lines (not in D code)

and again I mean: file names are case insensitive fro Windows :)


Thanks. ;-)

Any specific one?  I am trying -debug, and it is giving me the 
same thing.  If I try -w, just gives me too many warnings.


12:50:23.42>c:\D\bin\build -I..;c:\D\import -debug -version=gui 
-version=Phobos PMORpts.res PMORpts.d

OPTLINK (R) for Win32  Release 8.00.12
Copyright (C) Digital Mars 1989-2010  All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
c:\D\import\juno\com\core.obj(core)
 Error 42: Symbol Undefined _VarCmp@16
c:\D\import\juno\com\core.obj(core)
 Error 42: Symbol Undefined _VarDecNeg@8

These are the options for dmd 1.076:

12:56:19.43>dmd
DMD32 D Compiler v1.076
Copyright (c) 1999-2012 by Digital Mars written by Walter Bright
Documentation: http://www.digitalmars.com/d/1.0/index.html
Usage:
  dmd files.d ... { -switch }

  files.dD source files
  @cmdfile   read arguments from cmdfile
  -c do not link
  -cov   do code coverage analysis
  -D generate documentation
  -Dddocdir  write documentation file to docdir directory
  -Dffilenamewrite documentation file to filename
  -d allow deprecated features
  -dishow use of deprecated features as warnings
  -debug compile in debug code
  -debug=level   compile in debug code <= level
  -debug=ident   compile in debug code identified by ident
  -debuglib=nameset symbolic debug library to name
  -defaultlib=name  set default library to name
  -deps=filename write module dependencies to filename
  -g add symbolic debug info
  -gcadd symbolic debug info, pretend to be C
  -gsalways emit stack frame
  -H generate 'header' file
  -Hddirectory   write 'header' file to directory
  -Hffilenamewrite 'header' file to filename
  --help print help
  -Ipath where to look for imports
  -ignoreignore unsupported pragmas
  -inlinedo function inlining
  -Jpath where to look for string imports
  -Llinkerflag   pass linkerflag to link
  -lib   generate library rather than object files
  -man   open web browser on manual page
  -map   generate linker .map file
  -nofloat   do not emit reference to floating point
  -O optimize
  -o-do not write object file
  -odobjdir  write object & library files to directory objdir
  -offilenamename output file to filename
  -opdo not strip paths from source file
  -profile   profile runtime performance of generated code
  -quiet suppress unnecessary messages
  -release   compile release version
  -run srcfile args...   run resulting program, passing args
  -unittest  compile in unit tests
  -v verbose
  -v1D language version 1
  -version=level compile in version code >= level
  -version=ident compile in version code identified by ident
  -w warnings as errors (compilation will halt)
  -wiwarnings as messages (compilation will continue)
  -X generate JSON file
  -Xffilenamewrite JSON file to filename




Re: D1: Trying to update Juno Library to 1.076

2019-08-22 Thread a11e99z via Digitalmars-d-learn

On Thursday, 22 August 2019 at 16:34:52 UTC, a11e99z wrote:

On Thursday, 22 August 2019 at 16:34:06 UTC, a11e99z wrote:

On Thursday, 22 August 2019 at 16:07:00 UTC, jicman wrote:

On Thursday, 22 August 2019 at 15:58:56 UTC, a11e99z wrote:


case of string doesn't matter for Windows.

I mean for command lines (not in D code)

and again I mean: file names are case insensitive fro Windows :)



Re: D1: Trying to update Juno Library to 1.076

2019-08-22 Thread a11e99z via Digitalmars-d-learn

On Thursday, 22 August 2019 at 16:34:06 UTC, a11e99z wrote:

On Thursday, 22 August 2019 at 16:07:00 UTC, jicman wrote:

On Thursday, 22 August 2019 at 15:58:56 UTC, a11e99z wrote:


case of string doesn't matter for Windows.

I mean for command lines (not in D code)


Re: D1: Trying to update Juno Library to 1.076

2019-08-22 Thread a11e99z via Digitalmars-d-learn

On Thursday, 22 August 2019 at 16:07:00 UTC, jicman wrote:

On Thursday, 22 August 2019 at 15:58:56 UTC, a11e99z wrote:

try to add
pragma( lib, "OleAut32.lib" )


Thanks for the support, a11e99z. :-)

I have,

pragma(lib, "ole32.lib");
pragma(lib, "oleaut32.lib");

on that file. But I did go change it back to your suggestion,

pragma(lib, "ole32.lib");
pragma(lib, "OleAut32.lib");

and still get same error:

Thoughts?  thanks.


case of string doesn't matter for Windows.
so if u had "oleaut32" not working then "OleAut32" also will not 
work.


try to turn on verbose compilation and see all commands that 
generated by dub/compiler





Re: D1: Trying to update Juno Library to 1.076

2019-08-22 Thread jicman via Digitalmars-d-learn

On Thursday, 22 August 2019 at 15:58:56 UTC, a11e99z wrote:

try to add
pragma( lib, "OleAut32.lib" )


Thanks for the support, a11e99z. :-)

I have,

pragma(lib, "ole32.lib");
pragma(lib, "oleaut32.lib");

on that file. But I did go change it back to your suggestion,

pragma(lib, "ole32.lib");
pragma(lib, "OleAut32.lib");

and still get same error:

12:05:22.11>c:\D\bin\build -I..;c:\D\import -version=gui 
-version=Phobos PMORpts.res PMORpts.d

OPTLINK (R) for Win32  Release 8.00.12
Copyright (C) Digital Mars 1989-2010  All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
c:\D\import\juno\com\core.obj(core)
 Error 42: Symbol Undefined _VarCmp@16
c:\D\import\juno\com\core.obj(core)
 Error 42: Symbol Undefined _VarDecNeg@8

Thoughts?  thanks.

josé



Re: D1: Trying to update Juno Library to 1.076

2019-08-22 Thread a11e99z via Digitalmars-d-learn

On Thursday, 22 August 2019 at 15:55:48 UTC, jicman wrote:

Greetings!

I have been working on Juno for a long time with D1 version 
1.046, and love it.  But now, I want to update it to 1.076, the 
latest and greatest D1. I have fixed, what I think, were all of 
the problems.  However, when I build the libraries with my 
program, I get this error:


OPTLINK (R) for Win32  Release 8.00.12
Copyright (C) Digital Mars 1989-2010  All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
c:\D\import\juno\com\core.obj(core)
 Error 42: Symbol Undefined _VarCmp@16
c:\D\import\juno\com\core.obj(core)
 Error 42: Symbol Undefined _VarDecNeg@8

The D1 version is,

DMD32 D Compiler v1.076
Any thoughts of what to do next?  Thanks.


try to add
pragma( lib, "OleAut32.lib" )