Ok guys....appreciate your ideas. Here are some answers.
Yes I am using PG.
The largest resource has about 15000 strings and the size is 47.
I only have three STR# resources that my code creates. One is destroyed
anytime I quit the application or have an update (which is everytime it
is used) the other two are only killed and updated when the source text
file is modified, otherwise they stay in the application. The need is
to try and keep the network as unabused as possible.
I tried to look at the resources with ResEdit but two of them (the two
that have to be saved) cannot be observed because resedit says too many,
although one of them only has about 900, size 118 each string.
The code that affects the resources is:
LOCAL FN CHECKRES
INC(CHECKRES)
LONG IF CHECKRES=>20
CHECKRES=0:CALL UPDATERESFILE(gResRef)
END IF
END FN
LOCAL FN killdiagnosis
DIM resHndl&
resHndl& = FN NEWHANDLE _clear(2)
FN pGreplaceRes(resHndl&,_"STR#",_diagnosislistSTR,"")
CALL UPDATERESFILE(gResRef)
END FN
CLEAR LOCAL MODE
DIM 255 ParamBlock$,pbPtr&,T2$,T2,D2$,MODIFIED$
DIM fsVRefNum%, 63 fsName$
LOCAL FN GetFileData$(fsName$, fsVRefNum%)
pbPtr& = @ParamBlock$
pbPtr&.ioCompletion& = 0
pbPtr&.ioNamePtr& = @fsName$
pbPtr&.ioVRefNum% = fsVRefNum%
pbPtr&.ioFDirIndex% = 0
GET FILE INFO ParamBlock$
CALL IUDATESTRING(pbPtr&.ioFlMdDat&,1,D2$)
MODIFIED$=RIGHT$(D2$,4)
CALL IUDATESTRING(pbPtr&.ioFlMdDat&,0,D2$)
IF VAL(LEFT$(D2$,2))<10 THEN D2$="0"+D2$
IF VAL(MID$(D2$,4,2))<10 THEN D2$=LEFT$(D2$,3)+"0"+MID$(D2$,4)
MODIFIED$=MODIFIED$+LEFT$(D2$,2)+MID$(D2$,4,2)
CALL IUTIMESTRING(pbPtr&.ioFlMdDat&,0,T2$)
IF VAL(LEFT$(T2$,2))<10 THEN T2$="0"+T2$
T2$=LEFT$(T2$,2)+MID$(T2$,4)
T2=VAL(T2$):IF RIGHT$(T2$,2)="PM" THEN T2=1200+VAL(T2$)
T2$=STR$(T2):T2$=RIGHT$(T2$,LEN(T2$)-1):T2$="0"+T2$:T2$=RIGHT$(T2$,4)
MODIFIED$=MODIFIED$+T2$
END FN=MODIFIED$
LOCAL FN GETDIAG(FILENUMBER,DIAGNOSIS)
DIM DATAFILE$,MODIFIED$,itemnumber$
LONG IF CHECKDX=0
MODIFIED$=STR#(_filedataSTR,2)
DATAFILE$="DXFILE"
itemnumber$=FN GetFileData$(DATAFILE$, MYFOLDER%)
IF FN countStr(_diagnosislistSTR)=1 THEN FN killdiagnosis
LONG IF itemnumber$<>MODIFIED$
FN killdiagnosis:FN repElement(2,_filedataSTR,itemnumber$)
END IF
CHECKDX=1
END IF
WHILE DIAGNOSIS>FN countStr(_diagnosislistSTR)
RECORD FILENUMBER,FN
countStr(_diagnosislistSTR):READ#FILENUMBER,AZ$;47
FN apndElement(_diagnosislistSTR,AZ$)
FN CHECKRES
WEND
AZ$=STR#(_diagnosislistSTR,DIAGNOSIS)
END FN
Thanks,
TJS