Jump to content

Lars Fosdal

Administrators
  • Content Count

    3335
  • Joined

  • Last visited

  • Days Won

    110

Posts posted by Lars Fosdal


  1. Does the stream consist only of ptr_rec2 elements? Is it simply a double linked list?

    Is the element sequence in the stream of importance?

    Are the pointers relative positions in the stream or are they original memory positions in the old win32 app and discarded/replaced when loading in the receiving app?

    Do you need to keep it in the same linked list format in the new 64-bit app?

     

    Both ptr_rec1 and pointer are 8 bytes in 64-bit - so to read the stream in 64-bit, you would have to replace the pointer types with a 32-bit variable

    type
        Fake32bitPtr = UInt32;
        ptr_rec1=Fake32bitPtr;
        rec1=record
         i1:integer;
         p1:Fake32bitPtr;
        end;
       
        ActualPtr_rec2 = ^ptr_rec2;
        ptr_rec2=record
          rec:ptr_rec1;
          i:integer;
          p2:Fake32bitPtr;
        end;

    If the stream is not incredibly large, you could create a shadow structure that basically is an array of ActualPtr_rec2 and point to the ptr_rec2 elements without caring about the pointers?

     

     

     

     

     


  2. Can you see the value if you create a new Watch for it?

    Is the "variable" you are trying to inspect, actually a function result like MyObject.MyFunction? 

    If it is, you need to go to Tools | Options | Debugger and enable "Allow side effects and function calls in new watches"

    • Like 1

  3. Do you mean a tooltip for a variable in the source code on a breakpoint inside the IDE, or a tooltip that should appear on a component in your application when it is running?

     

    As you can see - your description still lack the detail needed for me to really understand the problem. Be specific.


  4. Thank you, Daniel - for expanding the Delphi-PraXis site to offer a home for the English speaking Delphi Developers!

    I spelunk this place almost every day, and it is invaluable to the community for keeping up to date, and find help in resolving issues - or simply for learning new things!

     

    See you around, and my best wishes to you and your family for a joyful and prosperous new year!

     

    Brgds, Lars F.

    • Like 1

  5. We always run with MARS=Yes.

    We also follow a different pattern with regards to inserts and updates - using stored procedures to change the contents of the database.

     

    Usually the problem is that more than one operation is attempted on the same connection at the same time.

    Are you certain you are not crossing variables somewhere? In you example code, there is fdcAmman and fdcUpdateAmman ...

     

×