TailBite V1.3 for PB4.0X+PB4.10+PB4.20

TailBite specific forum

Moderators: gnozal, ABBKlaus, lexvictory

ABBKlaus
Addict
Addict
Posts: 1143
Joined: Sat Apr 10, 2004 1:20 pm
Location: Germany

Post by ABBKlaus »

Hi,

@eddy, what version of tailbite are you using ? I have no problems compiling this to MyDebugErrorPlugin :

Code: Select all

ProcedureDLL MyDivZ(a, b)
  ProcedureReturn a/b
EndProcedure

ProcedureCDLL MyDivZ_DEBUG(a, b)
  If b=0
    TB_DebugError(@"Division by zero!")
  EndIf
EndProcedure
and for the complete path in TBManager you have to enable Display full Source Path in TitleBar in the PureBasic-Preferences :wink:
ABBKlaus
Addict
Addict
Posts: 1143
Joined: Sat Apr 10, 2004 1:20 pm
Location: Germany

Post by ABBKlaus »

Just forgot to say :

new version is out : V1.3 PR 1.856
[18] AUG 30th 2007 TailBite v1.3 PR 1.856
- fixed *_Init bug found by nco2k



see first post for more details.

Regards Klaus
User avatar
nco2k
Addict
Addict
Posts: 1344
Joined: Mon Sep 15, 2003 5:55 am

Post by nco2k »

thx klaus, works good now. :)

c ya,
nco2k
If OSVersion() = #PB_OS_Windows_ME : End : EndIf
User avatar
eddy
Addict
Addict
Posts: 1479
Joined: Mon May 26, 2003 3:07 pm
Location: Nantes

Post by eddy »

Oops It was my fault, I clicked on the wrong link.
I tested an old version. :lol:
Imagewin10 x64 5.72 | IDE | PB plugin | Tools | Sprite | JSON | visual tool
User avatar
eddy
Addict
Addict
Posts: 1479
Joined: Mon May 26, 2003 3:07 pm
Location: Nantes

Post by eddy »

Does this beta version support ASM code ?

Code: Select all

Structure myStruct 
  val.l
  text.s 
EndStructure 

ProcedureDLL.s d()
  Protected *a.myStruct 
  Protected b.myStruct
  Protected *result.myStruct    
  b\val=11111
  
  *a=@b
    
  !MOV Eax,[p.p_a] ;<---- here : unknown symbol
  !MOV [p.p_result],Eax 
  
  ProcedureReturn Str(*result\val)
EndProcedure
Imagewin10 x64 5.72 | IDE | PB plugin | Tools | Sprite | JSON | visual tool
ABBKlaus
Addict
Addict
Posts: 1143
Joined: Sat Apr 10, 2004 1:20 pm
Location: Germany

Post by ABBKlaus »

@eddy :

it was this part of code that was causing the problems :

Code: Select all

        ElseIf Left(ThisLine$, 3)="; !"            ;   CORREGIR ESTO PARA CUANDO HAYA ASM COMENTADO: ; !mov [v_R],... (Rings)
          If Right(ThisLine$, 1)<>":"
            cpos = FindString(ThisLine$, ";", 2)
            If cpos
              THS$ = RTrim(Left(ThisLine$, cpos))
            Else
              THS$ = RTrim(ThisLine$)
            EndIf
            THS$ = Trim(RemoveString(THS$, "; !"))
            ThisLine$+WNL$
            CopyMemoryString(@ThisLine$)
            FileSeeker = FindNextString(WNL$, FileSeeker, FileEnd)+Len(WNL$)
            ThisLine$ = THS$
            Goto CheckASM
          EndIf
i commented them out, i hope without side effects :oops:

new version is out : V1.3 PR 1.857
[19] SEP 8th 2007 TailBite v1.3 PR 1.857
- fixed problem with asm comments ; ! (found by eddy)
see first post for more details.

Regards Klaus
User avatar
eddy
Addict
Addict
Posts: 1479
Joined: Mon May 26, 2003 3:07 pm
Location: Nantes

Post by eddy »

ABBKlaus wrote: new version is out : V1.3 PR 1.857
[19] SEP 8th 2007 TailBite v1.3 PR 1.857
- fixed problem with asm comments ; ! (found by eddy)
Wait a minute :!: :!: ... The problem is not the commented ASM.
The problem is purebasic ASM symbol (like [p.p_a] )

I made a test :
MOV *a.eax ---> tailbite compiles correctly
!MOV [p.p_a].eax ---> tailbite send an error message

Image
Imagewin10 x64 5.72 | IDE | PB plugin | Tools | Sprite | JSON | visual tool
ABBKlaus
Addict
Addict
Posts: 1143
Joined: Sat Apr 10, 2004 1:20 pm
Location: Germany

Post by ABBKlaus »

@eddy,

i have no problems compiling your code with the new version.
here is the compiled asm code :

Code: Select all

; *a=@b
LEA    eax,[esp+4]
MOV    dword [esp],eax
;
; !MOV Eax,[p.p_a]
p.p_a equ esp+0
p.p_result equ esp+12
p.v_b equ esp+4
MOV Eax,[p.p_a]
; !MOV [p.p_result],Eax
MOV [p.p_result],Eax
Regards Klaus
User avatar
DoubleDutch
Addict
Addict
Posts: 3219
Joined: Thu Aug 07, 2003 7:01 pm
Location: United Kingdom
Contact:

Post by DoubleDutch »

PureBasic must do something to the local variables before they are passed to FASM. That could be why code with the '!' didn't work?
User avatar
eddy
Addict
Addict
Posts: 1479
Joined: Mon May 26, 2003 3:07 pm
Location: Nantes

Post by eddy »

I tested it
It works :D thx

Why does it use commented line ?
Imagewin10 x64 5.72 | IDE | PB plugin | Tools | Sprite | JSON | visual tool
ABBKlaus
Addict
Addict
Posts: 1143
Joined: Sat Apr 10, 2004 1:20 pm
Location: Germany

Post by ABBKlaus »

new version is out : V1.3 PR 1.858
[20] OKT 10th 2007 TailBite v1.3 PR 1.858
- fixed problem with PB folder detection code
see first post for more details.

Regards Klaus
srod
PureBasic Expert
PureBasic Expert
Posts: 10589
Joined: Wed Oct 29, 2003 4:35 pm
Location: Beyond the pale...

Post by srod »

Hi,

everything I tailbite (with the latest version of Tailbite and PB 4.1 beta 4), when the resulting library is used, I get the following linker error :

POLINK : fatal error : File not found : ':Import.LIB'

As I say, Tailbite runs okay and produces the library, but the problem is when I try to use the library etc.

Any ideas?

Thanks.


**EDIT : I went back and compiled with PB 4.1 beta 3 with the earlier version of Tailbite and the resulting libraries run fine; even with PB 4.1 beta 4.
I may look like a mule, but I'm not a complete ass.
ABBKlaus
Addict
Addict
Posts: 1143
Joined: Sat Apr 10, 2004 1:20 pm
Location: Germany

Post by ABBKlaus »

@srod,

a working snippet to reproduce the problem would be fine :roll:
srod
PureBasic Expert
PureBasic Expert
Posts: 10589
Joined: Wed Oct 29, 2003 4:35 pm
Location: Beyond the pale...

Post by srod »

Difficult; both projects I just compiled are huge; but compile fine with PB 4.1 beta 3 and Tailbite 1.3 PR 1.48.

What I can say is that both projects import the GradientFill() function.

I'll try creating a very small program then which reproduces this problem.
I may look like a mule, but I'm not a complete ass.
srod
PureBasic Expert
PureBasic Expert
Posts: 10589
Joined: Wed Oct 29, 2003 4:35 pm
Location: Beyond the pale...

Post by srod »

Right, I get the same problem with the following :

Code: Select all

ProcedureDLL.l test(a)
  a+1
  ProcedureReturn a
EndProcedure
I can create the user library okay, but when I try and use this with a simple program

Code: Select all

b = test(6)
I get exactly the same error reported above.

:?
I may look like a mule, but I'm not a complete ass.
Post Reply