| www.delorie.com/archives/browse.cgi | search |
| X-Authentication-Warning: | delorie.com: mail set sender to geda-user-bounces using -f |
| X-Recipient: | geda-user AT delorie DOT com |
| DKIM-Signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; |
| d=gmail.com; s=20120113; | |
| h=mime-version:in-reply-to:references:date:message-id:subject:from:to | |
| :content-type; | |
| bh=InavivGGkwD1aLRlCn/NkC652SwnMH7cF3XZg3u5+co=; | |
| b=IDzXLQjxAfYVU6uYZ/yIIiEDlEQcvsatDVvdgoEjWymVLizFRH5JmsUkjnJn6/Kwku | |
| kdY4kCpB/w1VlYbhOwHdNvBV8u77Dqbhwap9rNbJMFQu+TFOyGfuct2lDYmOi1KmtNGL | |
| n6QV9sb64PQyDnyEEX4dz/qelduets5qx2zhn50BhFTW7LPrL2YtMKYD7iY7CSFcLYcs | |
| 3ex2slnxzthE8I1Sjc53BxPZfBcE+z4o89kNc+CmkEOxXwWF0mLxsJy9RlG9VtUQ0QCL | |
| 35LlG6txLwqwScSbnNsZuGam50aC6AC7c4qxtMh/D3My6NYG9+y9g6mwD0IeL92foUgt | |
| B5ag== | |
| MIME-Version: | 1.0 |
| In-Reply-To: | <20121116135510.6D56B81345EB@turkos.aspodata.se> |
| References: | <20121113211401 DOT 20747813A49B AT turkos DOT aspodata DOT se> |
| <CAOuGh89nhtaPkKZ+0CJGn9V_XnZyi6YD-NndT53FHoAyYD0LFw AT mail DOT gmail DOT com> | |
| <20121115210903 DOT 90A4881345E3 AT turkos DOT aspodata DOT se> | |
| <CAPYb0EE-xqA681-iq9AwnL7Wq1j9NL7AP383X5qe5QeCZZW0Ug AT mail DOT gmail DOT com> | |
| <20121116135510 DOT 6D56B81345EB AT turkos DOT aspodata DOT se> | |
| Date: | Fri, 16 Nov 2012 11:40:34 -0500 |
| Message-ID: | <CAOuGh8_tCu_CM=RCRPDAoJMObszqWpjG29-37rAUAHyBN18uSw@mail.gmail.com> |
| Subject: | Re: [geda-user] Bug #903129 Translations don't work on Windows |
| From: | Bob Paddock <graceindustries AT gmail DOT com> |
| To: | geda-user AT delorie DOT com |
| Reply-To: | geda-user AT delorie DOT com |
| Errors-To: | nobody AT delorie DOT com |
| X-Mailing-List: | geda-user AT delorie DOT com |
| X-Unsubscribes-To: | listserv AT delorie DOT com |
--f46d04389415486a3304ce9f6d30
Content-Type: text/plain; charset=ISO-8859-1
> It should be better if the lib could have a get_localedir() routine and
> provide it to the caller.
>
> > > How do other programs handle this?
> >
> > I usually use the wxWidgets package for my Windows code and it has
> > 'standard paths':
> > http://docs.wxwidgets.org/2.8/wx_wxstandardpaths.html
> > http://docs.wxwidgets.org/2.9.4/classwx_standard_paths.html
>
> We cannot depend on that, but I found [1].
>
> [1]
http://developer.gnome.org/glib/2.28/glib-Windows-Compatibility-Functions.html#g-win32-get-package-installation-directory-of-module
That just moves the dependency from one library to the other, did a bit of
digging any came up with this:
This code will tell where the running .exe is located, it will return a
string such
as "C:\gEDA\geda.exe". Find the last '\' and use everything before that as
the path.
May have to change '\' to '\\' or '/' depending on the usage.
/*
* Simple example of how to find the location of running .exe (us).
*
* Example does not account for issues of Internalization of file
names/file systems.
*/
#include <stdio.h>
#include <windows.h>
int main( void )
{
char FileName_ca[MAX_PATH];
HINSTANCE instance_h = GetModuleHandle(NULL);
if( GetModuleFileName(instance_h, FileName_ca, MAX_PATH) )
{
printf( "We are located at: %s\n", FileName_ca );
}
else
{
/* ASSERT or something, as this should never happen */
}
}
--f46d04389415486a3304ce9f6d30
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
<br><div class=3D"gmail_extra"><br>> It should be better if the lib coul=
d have a get_localedir() routine and<br>> provide it to the caller.<br>&=
gt;<br>> > > How do other programs handle this?<br>> ><br>&g=
t; > I usually use the wxWidgets package for my Windows code and it has<=
br>
> > 'standard paths':<br>> > <a href=3D"http://docs.wxw=
idgets.org/2.8/wx_wxstandardpaths.html">http://docs.wxwidgets.org/2.8/wx_wx=
standardpaths.html</a><br>> > <a href=3D"http://docs.wxwidgets.org/2.=
9.4/classwx_standard_paths.html">http://docs.wxwidgets.org/2.9.4/classwx_st=
andard_paths.html</a><br>
><br>> We cannot depend on that, but I found [1].<br>><br>> [1]=
<a href=3D"http://developer.gnome.org/glib/2.28/glib-Windows-Compatibility=
-Functions.html#g-win32-get-package-installation-directory-of-module">http:=
//developer.gnome.org/glib/2.28/glib-Windows-Compatibility-Functions.html#g=
-win32-get-package-installation-directory-of-module</a></div>
<div class=3D"gmail_extra"><br><div class=3D"gmail_quote"><div>That just mo=
ves the=A0dependency=A0from one library to the other, did a bit of digging =
any came up with this:</div><div><br></div>This code will tell where the ru=
nning .exe is located, it will return a string such<br>
as "C:\gEDA\geda.exe". =A0Find the last '\' and use every=
thing before that as the path.</div><div class=3D"gmail_quote">May have to =
change '\' to '\\' =A0or '/' depending on the usage=
.<br>
<br>/*<br>=A0* Simple example of how to find the location of running .exe (=
us).<br>=A0*<br>=A0* Example does not account for issues of Internalization=
of file names/file systems.<br>=A0*/<br><br>#include <stdio.h><br>#i=
nclude <windows.h><br>
<br>int main( void )<br>{<br>=A0 char FileName_ca[MAX_PATH];<br><br>=A0 HIN=
STANCE instance_h =3D GetModuleHandle(NULL);<br><br>=A0 if( =A0GetModuleFil=
eName(instance_h, FileName_ca, MAX_PATH) )<br>=A0 =A0 {<br>=A0 =A0 =A0 prin=
tf( "We are located at: %s\n", FileName_ca );<br>
=A0 =A0 }<br>=A0 else<br>=A0 =A0{<br>=A0 =A0 =A0/* ASSERT or something, as =
this should never happen */<br>=A0 =A0}<br>}<br>=A0<br></div></div>
--f46d04389415486a3304ce9f6d30--
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |