Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by Daniel

  1. Daniel

    emailx45....Just curious

    Account was deleted on request. But in general we do not discuss things like this in public. I will close this topic now.
  2. Daniel

    Notification of Replies

    Hi, just click the "follow"-box in the upper right. I admit, that this one is not easy to be recognised as a button, but it has some power...
  3. I have removed some offtopic-rants. Please stay focused on topic.
  4. *sigh* I am fighting with a function from a DLL requiring a pointer that is dereferenced twice. In theory it should be "a pointer to a pointer to a pointer" but somehow I did not find the right language-contruct in Delphi. I actually have to deal with two functions: one to acquire a data-structure, one to release it. while I found a way to get my hands on the correct data (so the first step of acquiring the data seems to be working), my program crashes when I try to free that memory. Basically it is the following: typedef struct libvlc_media_track_t { /* some fields */ } libvlc_media_track_t; /* the two functions I need to import */ unsigned libvlc_media_tracks_get( libvlc_media_t *p_md, libvlc_media_track_t ***tracks ) // the second param is the problematic one libvlc_media_tracks_release( libvlc_media_track_t **p_tracks, unsigned i_count ) The import-declaration of the functions look like this: function libvlc_media_tracks_get(p_md : libvlc_media_t_ptr; var tracks : Pointer) : LongWord; cdecl; procedure libvlc_media_tracks_release(tracks : Pointer; i_count : LongWord ); cdecl; These declarations are not from me, but - so far - all other declarations from that unit have been working correctly, so I assume that these are also correct. My approach was to offer just a pointer to the first function and do some nasty type-conversions afterwards: var LTracksPtr : Pointer; LTracks : libvlc_media_track_t; // a record LCount : int32; begin LCount := libvlc_media_tracks_get( FVLCMIntf, LTracksPtr ); // FVLCMIntf is just (an initialised) pointer LTracks := libvlc_media_track_t( Pointer(LTracksPtr^)^ ); // works (i have the correct data in the record), but looks ugly to me libvlc_media_tracks_release( Pointer(LTracksPtr^), LCount ); // does clearly not work Now the effects are more or less funny - after trying to release that memory in one out of two cases a listview in my program vanishes. Looks like it has a very unfortunate memory-address that is referenced here by mistake. Could anyone with more c-experience point me into the right direction how to deal with that functions?
  5. Daniel

    TTreeNode leak when VCL styles are active

    I agree with @pyscripter, please come back to the topic.
  6. Not sure if we have a confused debugger, but for sure we do have a confused developer. Take the following code: procedure TForm1.Button1Click(Sender: TObject); var i ,j : integer; begin for i:= 0 to 1 do for j:= 1 to 2 do if i+j > 1000 then ShowMessage( 'Möp!' ); end; Just run the code and see that no message appears on the screen. Now set a breakpoint on the line with the "ShowMessage"-statement. Run the code again the see that the breakpoint will be triggered and the programs stops. Now place a "begin" and an "end" around the "ShowMessage"-statement - run the code again, the breakpoint will not be triggered anymore. for i:= 0 to 1 do for j:= 1 to 2 do if i+j > 1000 then begin ShowMessage( 'Möp!' ); // < breakpoint still here end; What is going on here? For me it looks like it has something to do with the loops, as the following breakpoint is (as expected) also not triggered: j := Random(10); if j > 1000 then ShowMessage( 'Meep' ); // <-- set breakpoint here (will not be triggered)
  7. Good catch - but the is a reduced code-sample. Same situation still applies when comparing values from an array with values that are generated at runtime.
  8. The original cry for help reached me from a developer using 10.3.x - so this is not limited to 10.4.2.
  9. Daniel

    I will be less active for a few weeks

    I am sorry to hear this. I also wish you a fast and full recovery.
  10. Daniel

    Delphi 10.4.2 first impressions

    We now have six pages of first impressions. This topic has become, as so often with a release, a melting pot of all possible aspects. But it doesn't get any better or clearer and doesn't gain any added value for someone who wants to inform himself about the new release from this page six on (probably already before). Even if it may be a "first impression" for you individually, please create a new topic for your specific question. I will leave this topic open for now so that you can quickly finish acute sub-topics.
  11. Daniel

    Delphi 10.4.2 first impressions

    If you want to discuss VirtualBox in detail, please use a separate topic for that. This part of the discussion seems no longer be related to Delphi 10.4.2.
  12. Daniel

    Delphi 10.4.2 first impressions

    Read the installation notes. The IDE itself has that requirement.
  13. Daniel

    Delphi 10.4.2 first impressions

    Support for DirectX11 is required by RAD Studio. This extension-pack might make this difference.
  14. Daniel

    Delphi 10.4.2 first impressions

    @emailx45 Could you try not to illustrate all of your posts with images? In many cases the plain information - in this case that you could not reproduce the error - might be enough and does not bloat the view of a topic.
  15. Daniel

    JEDI files cannot find windows files

    In recent Delphi-versions the function "Windows.GetACP" does not exist anymore under this scope. The windows-scope is now called "Winapi.Windows", therefore the full-qualified function-name is now "winapi.windows.GetACP". That should compile. But - are you really sure that you don't have a toxic mixture of old and new versions from Jedi? The stuff from GetIt usually works out of the box and the errors you see there are suspicious. GetIt may have it's rough edges, but actually not this rough.
  16. Daniel

    JEDI files cannot find windows files

    You might want to check the settings of the IDE. Look at the option "Unit scope names": http://docwiki.embarcadero.com/RADStudio/Sydney/en/Delphi_Compiler This should help your compiler to translate a "uses Classes" to "uses System.Classes".
  17. This is true without any doubt. And I totally agree on the value of clear terminology - my criticism was not about the technical parts of your posts. I am sure you know that.
  18. Daniel

    Delphi 10.4.2 first impressions

    Probably we must talk your your QA because of the empty remarks-section in the XML-doc that is causing the trouble. Just kidding - sorry for that. Looks like no one tested with empty xml-nodes. However - this is such a simple and easy to reproduce test-case that I am quite confident too see a fix quite soon.
  19. Maybe - but this harsh nitpicking is not helpful either. There are so many ways to find the right words - sometimes I wish you'd find a more relaxed wording...
  20. Daniel

    Delphi 10.4.2 first impressions

    Please check the system requirements against your VM: http://docwiki.embarcadero.com/RADStudio/Sydney/en/Installation_Notes @FredS Good catch! A very good one, indeed. Do you want to create an entry at quality.embarcadero.com providing that sample?
  21. Daniel

    Delphi 10.4.2 first impressions

    @PingPIng Strange visual effect. Do you have any 3rd-party components installed? I could not (yet) see this here.
  22. Daniel

    Inch representation format in TEdit like controls

    folks -- please step down a little and focus on the topic. If you don't want to contribute anything substantive - even for the time being - that's okay. Together, we should be careful not to lapse into personal affronts.
  23. Interesting. I have updated two separate installations from 10.4.1 to 10.4.2 and the Win64-paths are still present.
  24. Yes, sorry - I will post my solution tomorrow morning. I have just turned off the development-computer. 😉