realbasic-nug
[Top] [All Lists]

Re: International Libraries on Windows

To: REALbasic NUG <realbasic-nug at lists dot realsoftware dot com>
Subject: Re: International Libraries on Windows
From: Ken Mankoff <mankoff at gmail dot com>
Date: Tue, 6 Dec 2005 10:22:51 -0500
Delivered-to: realbasic-nug at lists dot realsoftware dot com
Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=keo6eDoYMXMQm8902zhV++hhPBlCnB9kLRtnk6d8MFlNPguBYksVP1dx+olTOdQgDuVtvvhdricYM3aRgs3qPpgB8tpv2uOf2zRoYlgjziSp+WFrSDQiDqDBta6f3XukUnx01m8HI/2dsp7GVe0jNbpOYXjhDz3HJbhJYCYneB0=
References: <5c8121ef0512060615s40d74c7ep8afdc596005274db at mail dot gmail dot com> <4395AAE4 dot 5000506 at realsoftware dot com>
On 12/6/05, Aaron Ballman <aaron at realsoftware dot com> wrote:
>
> > Windows + libraries means you have to use hard-coded paths.
>
> What gives you this idea?  You should almost *never* use a hard coded
> path since that means your application is going to break very easily.
> For instance, user 1 may have Windows installed on their C drive.  User
> 2 might have it on their D drive (very common).


Yeah no kidding it breaks easily. But I thought you *had* to use hard-coded
build-time paths for loading 3rd party libraries. @executable_path is
mac-only, right? So on Windows the declare statement needs to use the full
path to the 3rd party library.


You're going about the issue wrong.  Libraries come in two forms --
> public and private.  Public libraries are ones that all applications can
> use because they're installed in a known path (like the system32
> directory).  Private libraries are ones that are only meant to be used
> by the author, and they're stored directly next to the executable (or
> within a subdirectory of it).


My library is a private one. I install (with Vice) at the time my program
gets installed. Since we are talking about windows, there aren't
subdirectories of the program, since the program is a single .EXE file. But
next to the progam I have a support folder, and in sub-folders of this I
have my library that the declare statements use.

If you're using a public library, no path is needed.  If you're using a
> private library, then you should get permission from the original author
> to use it and include it with your application as a private library.


I have permission.


Make sense?

The only thing that doesn't make sense is how to do a declare on Windows to
a library, when I thought I had to a) use a constant, and b) the constant
had to be an absolute, not relative, path.

Can the path be relative? If so, that solves all my problems.

Thanks,

  -k.
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>

<Prev in Thread] Current Thread [Next in Thread>