TailBite specific forum
Moderators: gnozal , ABBKlaus , lexvictory
ABBKlaus
Addict
Posts: 1143 Joined: Sat Apr 10, 2004 1:20 pm
Location: Germany
Post
by ABBKlaus » Sun Sep 02, 2007 10:54 am
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
ABBKlaus
Addict
Posts: 1143 Joined: Sat Apr 10, 2004 1:20 pm
Location: Germany
Post
by ABBKlaus » Sun Sep 02, 2007 10:56 am
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
nco2k
Addict
Posts: 1344 Joined: Mon Sep 15, 2003 5:55 am
Post
by nco2k » Sun Sep 02, 2007 2:27 pm
thx klaus, works good now.
c ya,
nco2k
If OSVersion() = #PB_OS_Windows_ME : End : EndIf
eddy
Addict
Posts: 1479 Joined: Mon May 26, 2003 3:07 pm
Location: Nantes
Post
by eddy » Sun Sep 02, 2007 2:39 pm
Oops It was my fault, I clicked on the wrong link.
I tested an old version.
win10 x64 5.72 | IDE | PB plugin | Tools | Sprite | JSON | visual tool
eddy
Addict
Posts: 1479 Joined: Mon May 26, 2003 3:07 pm
Location: Nantes
Post
by eddy » Sat Sep 08, 2007 12:44 pm
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
win10 x64 5.72 | IDE | PB plugin | Tools | Sprite | JSON | visual tool
ABBKlaus
Addict
Posts: 1143 Joined: Sat Apr 10, 2004 1:20 pm
Location: Germany
Post
by ABBKlaus » Sat Sep 08, 2007 10:53 pm
@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
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
eddy
Addict
Posts: 1479 Joined: Mon May 26, 2003 3:07 pm
Location: Nantes
Post
by eddy » Sat Sep 08, 2007 11:41 pm
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
win10 x64 5.72 | IDE | PB plugin | Tools | Sprite | JSON | visual tool
ABBKlaus
Addict
Posts: 1143 Joined: Sat Apr 10, 2004 1:20 pm
Location: Germany
Post
by ABBKlaus » Sun Sep 09, 2007 9:41 am
@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
DoubleDutch
Addict
Posts: 3219 Joined: Thu Aug 07, 2003 7:01 pm
Location: United Kingdom
Contact:
Post
by DoubleDutch » Sun Sep 09, 2007 11:05 am
PureBasic must do something to the local variables before they are passed to FASM. That could be why code with the '!' didn't work?
eddy
Addict
Posts: 1479 Joined: Mon May 26, 2003 3:07 pm
Location: Nantes
Post
by eddy » Sun Sep 09, 2007 12:37 pm
I tested it
It works
thx
Why does it use commented line ?
win10 x64 5.72 | IDE | PB plugin | Tools | Sprite | JSON | visual tool
ABBKlaus
Addict
Posts: 1143 Joined: Sat Apr 10, 2004 1:20 pm
Location: Germany
Post
by ABBKlaus » Wed Oct 10, 2007 5:15 pm
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
Posts: 10589 Joined: Wed Oct 29, 2003 4:35 pm
Location: Beyond the pale...
Post
by srod » Wed Oct 17, 2007 5:54 pm
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
Posts: 1143 Joined: Sat Apr 10, 2004 1:20 pm
Location: Germany
Post
by ABBKlaus » Wed Oct 17, 2007 6:11 pm
@srod,
a working snippet to reproduce the problem would be fine :roll:
srod
PureBasic Expert
Posts: 10589 Joined: Wed Oct 29, 2003 4:35 pm
Location: Beyond the pale...
Post
by srod » Wed Oct 17, 2007 6:15 pm
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
Posts: 10589 Joined: Wed Oct 29, 2003 4:35 pm
Location: Beyond the pale...
Post
by srod » Wed Oct 17, 2007 6:30 pm
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
I get exactly the same error reported above.
I may look like a mule, but I'm not a complete ass.