_ldisphelper

New to FreeBASIC? Post your questions here.
Post Reply
ivory348
Posts: 49
Joined: Dec 14, 2019 12:07
Location: Groningen, Netherlands

_ldisphelper

Post by ivory348 »

While compiling, I get this message "missing _ldisphelper".
Could someone please tell me what to do?
MrSwiss
Posts: 3910
Joined: Jun 02, 2013 9:27
Location: Switzerland

Re: _ldisphelper

Post by MrSwiss »

The message is probably -ldisphelper (dash not underline).
-l (linker message) can't find library "disphelper" (dll or so).
Could someone please tell me what to do?
How about consulting the documentation, FB-Manual ... whenever you hit a problem, before using the forum.
(this question has been asked/answered a felt: x * 1'000 times, up until now)
dodicat
Posts: 7983
Joined: Jan 10, 2006 20:30
Location: Scotland

Re: _ldisphelper

Post by dodicat »

Here is a 32 bit .a disphelper lib file.
viewtopic.php?f=2&t=27820&p=263770&hili ... er#p263770
To test it put it in the same folder as your running code.
If you like it you can put it in your fb installation lib folder.
Here is a small tester code.

Code: Select all


#define UNICODE
#include Once "disphelper/disphelper.bi"
Dim shared as IDISPATCH PTR VB_FB
dhInitialize(TRUE)
dhToggleExceptions(True)
dhCreateObject "MSScriptControl.ScriptControl",NULL,@VB_FB
dhPutValue VB_FB,".Language %s","VBScript"

Sub _END() 
    SAFE_RELEASE(VB_FB)
    dhUninitialize True
End Sub
    enum 'for messagebox
    ok
    okcancel
    abortretryignore
    yesnocancel
    yesno
    retrycancel
    'icons
    critical =16
    question=32
    exclamation=48
    information=64
    end enum
'========== SETUP a few routines =======================
Function FindAndReplace(S as string,F as string,R as string)as string
    Dim Ret as zstring ptr
    dhGetValue "%s",@Ret,VB_FB,".Eval %s","Replace("""+S+""","""+F+""","""+R+""")"
    Return *Ret
End Function

Function eval(s As String) As Double
    Dim value As Zstring Ptr
    dhGetValue "%s",@value,VB_FB,".Eval %s",s
    Return Val(*value)
End Function

function MsgBox(s as string,title as string="",enums as integer=0) as integer
    Dim value As Zstring Ptr
    dhGetValue "%s",@value,VB_FB,".Eval %s","MsgBox("""+s+""","""+str(enums)+""","""+title+""")"
    Return 0
end function

function VBround(s as string,n as string) as string
    dim value as zstring ptr
    dhGetValue "%s",@value,VB_FB,".Eval %s","round("""+s+""","""+n+""")"
    return *value
end function

Dim As String e,g,laste
Dim As Double v
Dim As Double minx,maxx,miny,maxy,stp

print vbround("23.6665","2")
print "Press a key"
sleep

Screen 20
Do
  
    Cls
    minx=1e20
    maxx=-1e20
    locate 1,1
    print "Example of a function in x  sin(x)*cos(x)" 
    Locate 5,8
    print "Previous function ";laste
    print "Enter <enter> to use previous function (if there is one)"
    locate 10
    Input "Enter a math function in x       ";e
     if len(e)=0 then e=laste
    e=lcase(e)
   
    print "Chosen function ";e
    Locate ,10
    Input "Enter x axis range  e.g.   -4,7   ",minx,maxx
    stp=(maxx-minx)/1000  
      dim as double t=timer
    For n As Single=minx To maxx Step stp
        g= FindAndReplace(e,"x",Str(n))
        If Instr(g,"e")=0 Then v=eval(g)
        If miny>v Then miny=v
        If maxy<v Then maxy=v
    Next
    maxy=1.05*maxy
    miny=1.05*miny
    
    Window(minx,miny)-(maxx,maxy)
    
    For n As Single=minx To maxx Step stp
        g= FindAndReplace(e,"x",Str(n))
        If Instr(g,"e")=0 Then 
            v=eval(g)
            If n=minx Then Pset(n,v) Else Line -(n,v)
        End If
    Next
    If minx<0 And maxx>0 Then Line(0,maxy)-(0,miny),4
    If miny<0 And maxy>0 Then Line(minx,0)-(maxx,0),4  
    Window
    Draw String(500,0),Str(maxy)
    Draw String(500,768-16),Str(miny)
    Draw String(0,768\2),Str(minx)
    Draw String(1024-8*Len(Str(maxx)),768\2),Str(maxx)
    locate 15,15
    print timer-t
    laste=e
    Sleep
    If Inkey=Chr(27) Then Exit Do
Loop 
 
ivory348
Posts: 49
Joined: Dec 14, 2019 12:07
Location: Groningen, Netherlands

Re: _ldisphelper

Post by ivory348 »

MrSwiss wrote:<snipped>
(this question has been asked/answered a felt: x * 1'000 times, up until now)
So now it has been asked 1001 times. For your information I did search the Net extensively for an answer, before posting my query
Post Reply