Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

1 Neutral

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Can one include a TDataModule with DB components in a console application? I tried to do so, and was encountering some errors in the IDE (Delphi 10.3). Well that just might be a temporary thing in the IDE, or is this something one should not/can not do? Thanks
  2. Hello, I have opened an old open source project in the IDE (10.3), and breakpoints seem to have been disabled for this project. Q1. How can I re-enable breakpoints? In "Linking" I have set "Debug Information" = True, and "Map file" = Detailed. What other setting is relevant here? Q2. Another thing is that whenever an error occurs, the IDE goes straight to CPU view. How do I revert to the usual behaviour of going to the line of code where the error occurred? Thanks Rael
  3. Hello, I find when I lose my internet connection, the Delphi IDE hangs for a significant amount of time, maybe 1-2 minutes. Is there some option(s) that I can disable so that I will not experience this? I am on Delphi 10.3.2 Thank you Rael
  4. RaelB

    Theme updates incomplete

    Ok. Recently, I have been using Dark Theme at night and Light Theme during the day, so have been switching themes quite frequently .
  5. Hi, I'm using 15.0.33. If I change to Dark Theme, and then back to Light theme, the members area remains dark: If there are members, they will fill up the box with the correct theme, but there is still an area left in dark theme: I'm using Delphi 10.3.2 Thanks
  6. RaelB

    Error parsing winmail.dat

    I changed over to use https://github.com/CleverComponents/Tnef-Parser . It looks like it is a comprehensive implementation.
  7. RaelB

    Error parsing winmail.dat

    Hello, I have been using the IdCoderTNEF unit to decode winmail.dat messages. This has worked fine for me in the past, however in the last couple of months, I have been receiving this error when trying to parse such messages: EIdTnefUnknownMapiType: Encountered unknown MAPI type: 72, attribute: 32768 I am using the latest version of IdCoderTNEF from the github repo (Latest commit 5fb9225 on 26 Nov 2019 ) Part of my code looks like this: var J: Integer; TnefMsg: TIdMessage; TNefCoder: TIdCoderTNEF; begin .... for J := 0 to IdMessage.MessageParts.Count - 1 do begin if IdMessage.MessageParts[J] is TIdText then .... if IdMessage.MessageParts[J] is TIdAttachment then begin ... TNefCoder := TIdCoderTNEF.Create; try if TNefCoder.IsFilenameTnef(IdMessage.MessageParts[J].FileName) then begin TnefMsg := TIdMessage.Create(nil); try TNefCoder.Parse(IdMessage.MessageParts[J] as TIdAttachment, TNefMsg); ProcessMessage(TNefMsg); finally TnefMsg.Free; end; end else SaveMessagePart(IdMessage, IdMessage.MessageParts[J], UserName); finally TNefCoder.Free; end; end; end; .... Are you aware of such an issue? Thanks
  8. When is MMX Code Explorer not installed?
  9. Hi, What is the default shortcut to move the current line up or down? (i.e. it is swapping the current line with line above/below). Somehow I had trouble finding this shortcut online. In VS Code it would be Alt+Up/Down Arrow Thanks
  10. Hi, I have a simple pipeline, that takes in a list of 20 items, and has one stage. For each item, the stage waits 1 second, and then sends a message to the main UI, which will add the item to a Memo, and update a ProgressBar. The code is looking like this: procedure TForm1.AddDownloadItems; var DownloadItem: TDownloadItem; I: Integer; begin for I := 0 to 19 do begin DownloadItem := TDownloadItem.Create; DownloadItem.Id := I; FDownloadItems.Add(DownloadItem); end; end; procedure TForm1.Stage1(const input, output: IOmniBlockingCollection; const Task: IOmniTask); var Item: TDownloadItem; InputItem: TOmniValue; begin for InputItem in Input do begin Item := TDownloadItem(InputItem.AsObject); Sleep(1000); Task.Comm.Send(0, Item.Id); Output.Add(InputItem); end; end; procedure TForm1.UpdateProgress(const task: IOmniTaskControl; const msg: TOmniMessage); begin Inc(Progress); Memo1.Lines.Add(msg.MsgData.AsString); ProgressBar1.Position := Progress; end; procedure TForm1.GetDownloadsPipline; var Item: TDownloadItem; begin { ====== Start Pipeline ========= } Screen.Cursor := crHourGlass; StartTime := GetTickCount; FPipeline := Parallel.Pipeline .Stage(Stage1, Parallel.TaskConfig.OnMessage(UpdateProgress)).NumTasks(4) //Environment.Process.Affinity.Count) .OnStop( procedure begin PostMessage(Form1.Handle, WM_STOPPED, 0, 0); end) .Run; Self.AddDownloadItems; for Item in FDownloadItems do FPipeline.Input.Add(Item); FPipeline.Input.CompleteAdding; end; When the program runs, a few items get added to the Memo, and only afterwards the progressbar updates. This seems strange. I would expect the progress bar to update simultaneously with the memo. Please see attached video. Any ideas? Thanks pipeline_progress.mp4
  11. Not sure what you mean by tab group? I think that's what I have (and still have the issue) My layout is as follows: You got any "Update Subscription" countdown in your ide?
  12. Hi, I recently upgraded to 15.0.33. Every few minutes the IDE hangs for a few seconds. I'm mostly working with small to medium sized units. Delphi 10.3.2 Not sure if this is related to MMX, or perhaps to the IDE updating the number of days left to update subscription.. Thanks Rael
  13. Thanks all for the suggestions. The DDetours library was really helpful in this situation (in combination with logging), and helped me locate the problem fairly easily. Yeah not that tricky. I just used a TStringList to keep track of opened files (i.e. Handles) and only logged calls to CloseHandle that had an entry in the stringlist (and then removed them..)
  14. Hi, When trying to modify or overwrite an existing file, I get this error: Similarly the file cannot be deleted with SysUtils.DeleteFile. It seems that the file is actually in use within the same application (since if I close the app and restart it the file can be deleted...) Is there any way i.e. via code or perhaps an external tool, I can find out which piece of code is locking/holding the file? Similar to how when there is a memory leak, FastMM can give a report of which code block created the object. Thanks
  15. RaelB

    Delphi Jobs

    Hi, Are there any well known sites to post Delphi job opportunities? Thanks