Boris wrote:Unfortunately, no problem solved
I replaced all long resource names with the names which are up to 10 characters long.
The same problem persists...
Using xHarbour October 2005 and FWH December 2005 (I think but I got it on December 2005)
Should I take a look into some class or something.
It is very frustrating, changing the name of one button bar image, another two are not shown which were shown correctly a minute before. Then change these two names, one is shown another not, but in addition, the previous one I just changed, doesn't show this tima.
An endless loop...
Any help or advice please?
Boris
In case you do not have access to the xharbour com forum
This the reply from Ron Pinkas
<quote
Ok, the solution is very simple.
The defacto recommended practice for Dilaog IDs in resource file is to use
NUMRIC identifiers, rather than Strings.
Now, to the simple solution:
1. Add the follwoing at bottom of your main source:
//------------------------------------------------------------------------------------------------
#pragma BEGINDUMP
#include <windos.h>
#include "hbapi.h"
HB_FUNC( MAKEINTRESOURCE )
{
hb_retclenStatic( MAKEINTRESOURCE( hb_parnl(1) ), 2 );
}
#pragma ENDDUMP
//------------------------------------------------------------------------------------------------
2. To the top of of your resource file, and to the top of your source
accessing the resources, add:
#include "MyApp.ch"
3. In your Resouce file, add >ID_< prefix to your dialog names.
4. Create a new MyApp.ch with content like this (based on your xTest
sample):
//------------------- xTest.ch --------------------//
#define ID_PRE_IMP 1001
#define ID_CAD_CONFIG 1002
#define ID_CAD_CONTATOS 1003
#define ID_CAD_EXTRA 1004
#define ID_CAD_FONES 1005
#define ID_CAD_FONESVAL 1006
#define ID_CAD_MENSALIDADE 1007
#define ID_CAD_MODI 1008
#define ID_CAD_OBSERVACAO 1009
#define ID_CAD_ORCAMENTOS 1010
#define ID_CAD_OUTRO_FONE 1011
#define ID_CAD_SENHA 1012
#define ID_CAD_SOLICIT 1012
#define ID_CAD_TREINA 1013
#define ID_CAD_VERSOES 1014
#define ID_DLG_ENVELOPE 1015
#define ID_DLG_FILTRO 1016
#define ID_DLG_INDEX 1017
#define ID_DLGAGUARDE 1018
#define ID_DLGDATAEST 1019
#define ID_DLGDATACLIEST 1020
#define ID_DLGFILREC 1021
#define ID_DLGINDEXAULTATEND 1022
#define ID_DLGPENDENC 1023
#define ID_IMP_NOTA 1024
#define ID_IMP_SOLICIT 1025
#define ID_PRINT 1026
#define ID_PRINT_PROC 1027
#define ID_PREVIEW_PROC 1028
#define ID_CAD_ATEDESCR 1029
#define ID_CAD_ATENDIMENTOS 1030
#define ID_CAD_CLIENTES 1031
//-------------------- EOF ----------------------//
5. Finally, change your code from:
DEFINE DIALOG oDLG RESOURCE "PRE_IMP"
to:
DEFINE DIALOG oDLG RESOURCE MAKEINTRESOURCE( ID_PRE_IMP )
That's all, you should never again see such problem.
Ron