Page 8 of 10
Posted: Mon Dec 31, 2007 1:25 pm
by ABBKlaus
Mistrel wrote:What I meant so say what that if I declare a procedure inside of a Tailbite library as Procedure and not ProcedureDLL the command will appear as a hint at the bottom of the IDE when the library is included by the compiler. PB will error on compile because this procedure isn't really available.
i just tested this with PurePDF and an internal procedure ipf_LocalDecimal(), but haven“t found anything unusual

Do you have something more to test it

(Library / source-code ...)
Regards Klaus
Posted: Mon Dec 31, 2007 1:35 pm
by IceSoft
Tailbite creates subsystem userlibs not in the correct subsystem subfolder.
e.g:
SubSystems\DirectX9\PureLibraries
Correct is:
SubSystems\DirectX9\PureLibraries\UserLibraries
Posted: Mon Dec 31, 2007 1:49 pm
by gnozal
IceSoft wrote:Tailbite creates subsystem userlibs not in the correct subsystem subfolder.
e.g:
SubSystems\DirectX9\PureLibraries
Correct is:
SubSystems\DirectX9\PureLibraries\UserLibraries
It's historical, because SubSystems\xxxxx\PureLibraries\UserLibraries was broken in PB4.00 / PB4.01.
Anyway SubSystems\xxxxx\PureLibraries\ works also for userlibraries, and most userlibraries use this scheme.
Imho, it's not correct or incorrect to put userlibraries in PureLibraries, it's only tradition. And in Subsystems, you can't confuse them with genuine PB libraries like in %PB%\PureLibraries, because of the subsytem name.
Posted: Mon Dec 31, 2007 2:03 pm
by IceSoft
gnozal wrote:IceSoft wrote:Tailbite creates subsystem userlibs not in the correct subsystem subfolder.
e.g:
SubSystems\DirectX9\PureLibraries
Correct is:
SubSystems\DirectX9\PureLibraries\UserLibraries
It's historical, because SubSystems\xxxxx\PureLibraries\UserLibraries was broken in PB4.00 / PB4.01.
Anyway SubSystems\xxxxx\PureLibraries\ works also for userlibraries, and most userlibraries use this scheme.
Imho, it's not correct or incorrect to put userlibraries in PureLibraries, it's only tradition. And in Subsystems, you can't confuse them with genuine PB libraries like in %PB%\PureLibraries, because of the subsytem name.
Sorry that is the directory structure created with the latest 4.20 (Beta1).
SO it is not tradition.. it is an advise from Fantaisie Software. Right?
Posted: Mon Dec 31, 2007 2:15 pm
by gnozal
IceSoft wrote:Sorry that is the directory structure created with the latest 4.20 (Beta1).
SO it is not tradition.. it is an advise from Fantaisie Software. Right?
An advise if you want.
I explained the reason : the 'UserLibraries' directory is disabled in 'SubSystems' in PB4.00/PB4.01.
And all I am saying is there is no functional reason ; your app won't work any better if you choose one or another directory. It just separates genuine libs from user libs.
Posted: Mon Dec 31, 2007 2:42 pm
by IceSoft
gnozal wrote:IceSoft wrote:Sorry that is the directory structure created with the latest 4.20 (Beta1).
SO it is not tradition.. it is an advise from Fantaisie Software. Right?
An advise if you want.
I explained the reason : the 'UserLibraries' directory is disabled in 'SubSystems' in PB4.00/PB4.01.
And all I am saying is there is no functional reason ; your app won't work any better if you choose one or another directory. It just separates genuine libs from user libs.
Not my prog...Thats right.
But Tailbite is working wrong:
'Prompt confirm on deletion of previos library with same name.'
The reason of course is the copy of the userlibs into the deepher dir structure by me.
But it is helpfull to use always the same.
If Tailbite and PB have no prob with the dir structure...so why PB has the 'Userlibraries' folder on each subsystem generated?
Only my 2 cents.
Posted: Wed Jan 02, 2008 3:11 pm
by ABBKlaus
new version is out : TailBite V1.3 PR 1.864
http://www.tailbite.com/?download=TailB ... taller.exe
[26] JAN 2th 2008 TailBite v1.3 PR 1.864
- TBManager : correction of Subsystem folders (found by IceSoft)
- TBManager : added creation of Subsystem folders
see first post for more deatils.
Posted: Thu Jan 03, 2008 2:15 pm
by IceSoft
ABBKlaus wrote:new version is out : TailBite V1.3 PR 1.864
http://www.tailbite.com/?download=TailB ... taller.exe
[26] JAN 2th 2008 TailBite v1.3 PR 1.864
- TBManager : correction of Subsystem folders (found by IceSoft)
- TBManager : added creation of Subsystem folders
see first post for more deatils.
I got a unclear Messagebox if I have checked the 'Prompt confirm on deletion of previos library with same name.'
look here:
If I press Ja(Yes) the existing lib will be removed
If I press Nein (No) I got a text 'Error' Line: -1 Exit program?
(Line: -1 should be also have a understanding text)
Posted: Thu Jan 03, 2008 10:21 pm
by Mistrel
---------------------------
TailBite Error
---------------------------
FAsm: TailBiteDEBUG2.asm
flat assembler version 1.67.15 (1354673 kilobytes memory)
Functions\TailBiteDEBUG2.asm [20]:
}
error: illegal instruction.
The pipe has been ended.
---------------------------
OK
---------------------------
Code: Select all
Macro Macro1()
; do something
EndMacro
ProcedureDLL TailBiteDEBUG2()
Macro1(): EndProcedure
Posted: Thu Jan 03, 2008 10:38 pm
by ABBKlaus
@Mistrel,
TailBite does not like the : as line separator.
This should work :
Code: Select all
Macro Macro1()
; do something
EndMacro
ProcedureDLL TailBiteDEBUG2()
Macro1()
EndProcedure
Posted: Thu Jan 03, 2008 11:01 pm
by ABBKlaus
new version is out : TailBite V1.3 PR 1.865
http://www.tailbite.com/?download=TailB ... taller.exe
[27] JAN 3th 2008 TailBite v1.3 PR 1.865
- fixed stack issue when 'Prompt confirm on deletion...' was checked (found by IceSoft)
- fixed mispelling of 'user library already exist.'
see first post for more deatils.
Posted: Sat Jan 05, 2008 2:30 am
by Mistrel
I thought I could speed up the time it took to compile one of my larger libraries by encapsulating sections in CompilerIfs. I found that by doing this the functions no longer worked but library itself did not decrease in size as expected. Compile time also was not noticeably faster and function hints still display at the bottom of the IDE for functions that should have been ignored by the compiler.
Code: Select all
;#Lib_GroupName=0 ; This line is commented out
CompilerIf Defined(Lib_GroupName,#PB_Constant)
ProcedureDLL ProcName()
; This function is still recognized by Tailbite?
EndProcedure
CompilerEndIf
Posted: Sat Jan 05, 2008 1:00 pm
by ABBKlaus
@Mistrel,
i just compiled your test code to an commented asm source, and did not find any of your code !
C:\Programme\PureBasic410\Compilers>pbcompiler /COMMENTED /EXE "D:\Backup\out.exe" d:\Backup\TB_Bugtest1.pb
The only thing that i found was this line that was left by the compiler :
; CompilerIf Defined(Lib_GroupName,#PB_Constant)
Code: Select all
;
; PureBasic 4.10 (Windows - x86) generated code
;
; (c) 2007 Fantaisie Software
;
; The header must remain intact for Re-Assembly
;
; :System
; KERNEL32
; :Import
;
format MS COFF
;
extrn _ExitProcess@4
extrn _GetModuleHandleA@4
extrn _HeapCreate@12
extrn _HeapDestroy@4
;
extrn _memset
public _PB_Instance
public _PB_ExecutableType
public _PB_MemoryBase
public PB_Instance
public PB_MemoryBase
public _PB_EndFunctions
public _PB_DEBUGGER_LineNumber
public _PB_DEBUGGER_IncludedFiles
macro pb_public symbol
{
public _#symbol
public symbol
_#symbol:
symbol:
}
macro pb_align value { rb (value-1) - ($-_PB_DataSection + value-1) mod value }
macro pb_bssalign value { rb (value-1) - ($-_PB_BSSSection + value-1) mod value }
public PureBasicStart
;
section '.code' code readable executable
;
;
PureBasicStart:
;
PUSH dword I_BSSEnd-I_BSSStart
PUSH dword 0
PUSH dword I_BSSStart
CALL _memset
ADD esp,12
PUSH dword 0
CALL _GetModuleHandleA@4
MOV [_PB_Instance],eax
PUSH dword 0
PUSH dword 4096
PUSH dword 0
CALL _HeapCreate@12
MOV [PB_MemoryBase],eax
; :
;#Lib_GroupName=0 ; This line is commented out
;
; CompilerIf Defined(Lib_GroupName,#PB_Constant)
_PB_EOP_NoValue:
PUSH dword 0
_PB_EOP:
CALL _PB_EndFunctions
PUSH dword [PB_MemoryBase]
CALL _HeapDestroy@4
CALL _ExitProcess@4
_PB_EndFunctions:
RET
;
;
section '.data' data readable writeable
;
_PB_DataSection:
_PB_DEBUGGER_LineNumber: dd -1
_PB_DEBUGGER_IncludedFiles: dd 0
_PB_ExecutableType: dd 0
pb_align 4
pb_align 4
s_s:
dd 0
dd -1
pb_align 4
;
section '.bss' readable writeable
_PB_BSSSection:
pb_bssalign 4
;
I_BSSStart:
_PB_MemoryBase:
PB_MemoryBase: rd 1
_PB_Instance:
PB_Instance: rd 1
;
pb_bssalign 4
PB_DataPointer rd 1
pb_bssalign 4
pb_bssalign 4
pb_bssalign 4
pb_bssalign 4
I_BSSEnd:
section '.data' data readable writeable
SYS_EndDataSection:
Regards Klaus
Posted: Sat Jan 05, 2008 5:25 pm
by Henrik
@ABBKlaus
What's up with
http://www.tailbite.com/ 
it seems to be down
Best Henrik.
Posted: Sat Jan 05, 2008 9:23 pm
by ABBKlaus
@Henrik,
its up and running, no problems with it
