Alpha Software Mobile Development Tools:   Alpha Anywhere    |   Alpha TransForm subscribe to our YouTube Channel  Follow Us on LinkedIn  Follow Us on Twitter  Follow Us on Facebook

Announcement

Collapse

The Alpha Software Forum Participation Guidelines

The Alpha Software Forum is a free forum created for Alpha Software Developer Community to ask for help, exchange ideas, and share solutions. Alpha Software strives to create an environment where all members of the community can feel safe to participate. In order to ensure the Alpha Software Forum is a place where all feel welcome, forum participants are expected to behave as follows:
  • Be professional in your conduct
  • Be kind to others
  • Be constructive when giving feedback
  • Be open to new ideas and suggestions
  • Stay on topic


Be sure all comments and threads you post are respectful. Posts that contain any of the following content will be considered a violation of your agreement as a member of the Alpha Software Forum Community and will be moderated:
  • Spam.
  • Vulgar language.
  • Quotes from private conversations without permission, including pricing and other sales related discussions.
  • Personal attacks, insults, or subtle put-downs.
  • Harassment, bullying, threatening, mocking, shaming, or deriding anyone.
  • Sexist, racist, homophobic, transphobic, ableist, or otherwise discriminatory jokes and language.
  • Sexually explicit or violent material, links, or language.
  • Pirated, hacked, or copyright-infringing material.
  • Encouraging of others to engage in the above behaviors.


If a thread or post is found to contain any of the content outlined above, a moderator may choose to take one of the following actions:
  • Remove the Post or Thread - the content is removed from the forum.
  • Place the User in Moderation - all posts and new threads must be approved by a moderator before they are posted.
  • Temporarily Ban the User - user is banned from forum for a period of time.
  • Permanently Ban the User - user is permanently banned from the forum.


Moderators may also rename posts and threads if they are too generic or do not property reflect the content.

Moderators may move threads if they have been posted in the incorrect forum.

Threads/Posts questioning specific moderator decisions or actions (such as "why was a user banned?") are not allowed and will be removed.

The owners of Alpha Software Corporation (Forum Owner) reserve the right to remove, edit, move, or close any thread for any reason; or ban any forum member without notice, reason, or explanation.

Community members are encouraged to click the "Report Post" icon in the lower left of a given post if they feel the post is in violation of the rules. This will alert the Moderators to take a look.

Alpha Software Corporation may amend the guidelines from time to time and may also vary the procedures it sets out where appropriate in a particular case. Your agreement to comply with the guidelines will be deemed agreement to any changes to it.



Bonus TIPS for Successful Posting

Try a Search First
It is highly recommended that a Search be done on your topic before posting, as many questions have been answered in prior posts. As with any search engine, the shorter the search term, the more "hits" will be returned, but the more specific the search term is, the greater the relevance of those "hits". Searching for "table" might well return every message on the board while "tablesum" would greatly restrict the number of messages returned.

When you do post
First, make sure you are posting your question in the correct forum. For example, if you post an issue regarding Desktop applications on the Mobile & Browser Applications board , not only will your question not be seen by the appropriate audience, it may also be removed or relocated.

The more detail you provide about your problem or question, the more likely someone is to understand your request and be able to help. A sample database with a minimum of records (and its support files, zipped together) will make it much easier to diagnose issues with your application. Screen shots of error messages are especially helpful.

When explaining how to reproduce your problem, please be as detailed as possible. Describe every step, click-by-click and keypress-by-keypress. Otherwise when others try to duplicate your problem, they may do something slightly different and end up with different results.

A note about attachments
You may only attach one file to each message. Attachment file size is limited to 2MB. If you need to include several files, you may do so by zipping them into a single archive.

If you forgot to attach your files to your post, please do NOT create a new thread. Instead, reply to your original message and attach the file there.

When attaching screen shots, it is best to attach an image file (.BMP, .JPG, .GIF, .PNG, etc.) or a zip file of several images, as opposed to a Word document containing the screen shots. Because Word documents are prone to viruses, many message board users will not open your Word file, therefore limiting their ability to help you.

Similarly, if you are uploading a zipped archive, you should simply create a .ZIP file and not a self-extracting .EXE as many users will not run your EXE file.
See more
See less

DLL parameters - By reference or By value???

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    DLL parameters - By reference or By value???

    I am new to alpha and I am struggling with calling functions in external dlls. Mostly I have trouble with parameters that are passed to the DLL and are then supposed to be updated by the DLL.

    In Xbasic are parameters passed to the dll, by reference or by value. And how can you change this? Some of my dll functions require the values and others require the address.

    Thanks for any info you can provide.

    Matt

    #2
    Re: DLL parameters - By reference or By value???

    I'm struggling with this one as well. I have a DLL from Marshallsoft that allows you to fully control an FTP session including using passive FTP which is the one major limitation I see with Alpha's built-in FTP functions but I have several methods that want a string buffer passed to them so the DLL can return information in the string buffer (altering the passed parameter) while returning a success or failure code in the function.

    The Visual Basic function definition is:

    Declare Function fceGetString Lib "FCE32.DLL" (ByVal fceChan As Integer, ByVal fceParamName As Integer, ByVal fceBuffer As String, ByVal fceBufLen As Integer) As Integer

    I've tried using both of the following in Alpha (separately obviously) and the function executes but nothing is returned in the fceBuffer parameter:

    Declare FCE32.DLL fceGetString LLLCL

    or

    Declarestruct _strbuffer C128sbuffer
    Declare FCE32.DLL fceGetString LLL(_strbuffer)L

    and I've made the call using:

    Constant Global FCE_GET_SERVER_IP = 19
    Dim fceBuffer as C
    fceBuffer=space(128)

    result=fceGetString(0,FCE_GET_SERVER_IP_ADDRESS,fcebuffer,128)

    The result comes back 0 which means the DLL executed the command but fcebuffer always comes back still containing only the 128 spaces.
    Brad Weaver, President
    ComputerAid International
    Ottawa ON Canada
    Versailles KY USA
    www.compuaid.com

    Comment


      #3
      Re: DLL parameters - By reference or By value???

      I think your second method is the way to go. However, you will need to define your fceBuffer variable differently.

      dim fceBuffer as {_strbuffer}

      you may not need to initialize fcebuffer with 128 spaces, but if you do and it shouldn't hurt to do it you would need to use
      fceBuffer.sbuffer = space(128)

      when you pass the variable in your function call, you would pass it exactly as you have it above.

      Hope this helps.

      Comment


        #4
        Re: DLL parameters - By reference or By value???

        That was the key part I was missing! Thanks so much Matt. I've got the routine working now. I'll be posting the complete declaration function for the MarshallSoft FTP library later this week to help address some of the problems people have been having with Alpha's built-in FTP services (mainly no passive FTP). The Marshallsoft library is $130 one time charge and can be freely distributed with your apps.
        Brad Weaver, President
        ComputerAid International
        Ottawa ON Canada
        Versailles KY USA
        www.compuaid.com

        Comment

        Working...
        X