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 :shock: 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:
Image

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 :wink: