Stream: pascal
Topic: Toolkit
Grahame Grieve (Apr 03 2019 at 01:42):
decision: we need to migrate the toolkit to vcl. the fmx issues are just too great. and the OSX experience would be better in a VM
Grahame Grieve (Apr 03 2019 at 01:47):
I don't know what the process would be
Jose Costa Teixeira (Apr 03 2019 at 03:49):
i think having to use a vm may deter people. and perhaps UI will suffer a bit (e.g. high DPI compatibility)
I dont know the issues but if you say they are not fixable, we can start migrating.
Jose Costa Teixeira (Apr 03 2019 at 03:50):
i tried to find the mem leak in ig editor but i couldnt so i was planning to rebuild that thing , as well as the examplescenario
Grahame Grieve (Apr 03 2019 at 03:53):
well, there's a set, but the biggest is the focus problem. this one https://quality.embarcadero.com/browse/RSP-23063
Grahame Grieve (Apr 03 2019 at 03:53):
the toolkit is close to unusable for normal people because of this
Jose Costa Teixeira (Apr 03 2019 at 04:08):
no ETA on that issue, I guess... they just released Rio.
Jose Costa Teixeira (Apr 03 2019 at 04:11):
just thinking: VCL TTreeView does not have .tagObject
Jose Costa Teixeira (Apr 03 2019 at 04:11):
IIRC
Jose Costa Teixeira (Apr 03 2019 at 04:11):
I think VCL object only suports a string as a tag
Grahame Grieve (Apr 03 2019 at 04:11):
no i wouldn't use ttreeview - always TVirtualStringGrid which I miss badly in FMX
Jose Costa Teixeira (Apr 03 2019 at 04:13):
stringgrid or stringtree?
Grahame Grieve (Apr 03 2019 at 04:17):
TVirtualTree
Jose Costa Teixeira (Apr 03 2019 at 04:20):
ok this week i am starting to look at ig editor, should i try to make a vcl thing only to see how it goes?
Jose Costa Teixeira (Apr 03 2019 at 04:20):
i gave up on finding the mem leak so i need to remake that editor
Grahame Grieve (Apr 03 2019 at 04:20):
no. too much lift to get going. stick on FMX for now
Grahame Grieve (Apr 03 2019 at 04:21):
seems like a big change for a little problem. what leaks?
Jose Costa Teixeira (Apr 03 2019 at 04:23):
just as i start the editor there is always a leak
Grahame Grieve (Apr 03 2019 at 04:23):
what does it say?
Grahame Grieve (Apr 03 2019 at 04:25):
i get the same leaks whether or not I open the iG edigtor
Jose Costa Teixeira (Apr 03 2019 at 04:31):
as soon as i do a new...
pasted image
Jose Costa Teixeira (Apr 03 2019 at 04:32):
if that thing is not from ig editor, then i can switch of my OCD mode and just move on to building functionality
Grahame Grieve (Apr 03 2019 at 19:05):
that's not the IG editor
Jose Costa Teixeira (Apr 06 2019 at 11:54):
does TFHIRObject.dropEmpty work?
Jose Costa Teixeira (Apr 06 2019 at 11:56):
procedure TFHIRObject.dropEmpty; var l : TFHIRPropertyList; p : TFHIRProperty; o : TFHIRObject; begin l := createPropertyList(false); try for p in l do begin if p.Values <> nil then for o in p.Values do begin o.dropEmpty; if o.isEmpty then deleteProperty(p.Name, o); end; end; finally l.free end; end;
can't figure it out how this works. or how it should work. Seems to not delete anything...
Grahame Grieve (Apr 06 2019 at 21:17):
this test passes:
procedure TFHIRObjectTests.TestDropEmpty1; var o : TFHIRPatient; begin o := TFHIRPatient.Create; try Assert.IsTrue(json(o) = '{"resourceType":"Patient"}'); Assert.IsTrue(o.idElement = nil); o.id := 'test'; Assert.IsTrue(json(o) = '{"id":"test","resourceType":"Patient"}'); Assert.IsTrue(o.idElement <> nil); o.id := ''; Assert.IsTrue(json(o) = '{"resourceType":"Patient"}'); Assert.IsTrue(o.idElement <> nil); o.dropEmpty; Assert.IsTrue(json(o) = '{"resourceType":"Patient"}'); Assert.IsTrue(o.idElement = nil); finally o.Free; end; Assert.IsTrue(true); end;
Grahame Grieve (Apr 06 2019 at 21:32):
as does this:
procedure TFHIRObjectTests.TestDropEmpty2; var o : TFHIRPatient; begin o := TFHIRPatient.Create; try Assert.IsTrue(json(o) = '{"resourceType":"Patient"}'); Assert.IsTrue(o.identifierList.Count = 0); o.identifierList.Append.value := 'test'; Assert.IsTrue(json(o) = '{"identifier":[{"value":"test"}],"resourceType":"Patient"}'); Assert.IsTrue(o.identifierList.Count = 1); o.identifierList[0].value := ''; Assert.IsTrue(json(o) = '{"identifier":[{}],"resourceType":"Patient"}'); Assert.IsTrue(o.identifierList.Count = 1); o.dropEmpty; Assert.IsTrue(json(o) = '{"resourceType":"Patient"}'); Assert.IsTrue(o.identifierList.Count = 0); finally o.Free; end; Assert.IsTrue(true); end;
Jose Costa Teixeira (Jun 18 2019 at 22:19):
Should we add R4 to the [Run] section of the toolkit installer?
[Run]
Filename: "{app}\FHIRToolkitR3.exe"; Description: "{cm:LaunchProgram,FHIR Toolkit (R3)}"; Flags: nowait postinstall skipifsilent
Filename: "{app}\FHIRToolkitR4.exe"; Description: "{cm:LaunchProgram,FHIR Toolkit (R4)}"; Flags: nowait postinstall skipifsilent
Jose Costa Teixeira (Jun 18 2019 at 22:20):
I would just try it but my innoDB is complaining about a missing C:\work\fhirserver\exec\32\installer.dll. I will look at it tomorrow so I just drop the idea
Grahame Grieve (Jun 18 2019 at 23:10):
thought it already was there
Grahame Grieve (Jun 18 2019 at 23:10):
so yes if it's not
Jose Costa Teixeira (Jun 24 2019 at 13:27):
Should i add a button "copy console output to clipboard" ? image-2.png
Grahame Grieve (Jun 24 2019 at 20:48):
sure
Jose Costa Teixeira (Jun 28 2019 at 07:43):
Toolkit does not have all the languate codes (I need fr-BE, nl-BE).
a) i add those manually? (pretty selfish)
b) should we allow for free text?
c) any other way?
Jose Costa Teixeira (Jun 28 2019 at 07:43):
i am thinking that eventually we will need some config screen and ini file that contains things like this.
Grahame Grieve (Jun 29 2019 at 03:27):
Add manually. I want to track this
Jose Costa Teixeira (Jul 06 2019 at 22:19):
the validator in the toolkit is calling packages hl.fhir.core-4.0.0 but what i have in windows is hl7.fhir.core#4.0.0
which is correct? - or # ? should i fix when i find it?
Grahame Grieve (Jul 06 2019 at 22:19):
hl7.fhir.core#4.0.0
Grahame Grieve (Jul 06 2019 at 22:20):
you should ask before fixing, because something is very wrong- I used "-" instead of '#' transiently in a very few cases
Jose Costa Teixeira (Jul 06 2019 at 22:32):
ok, i saw the '-' in a couple of lines, will see how this would work. I'm still figuring out how the validator is supposed to work but I had some issues with my packages:
- when i try to update package 4.0.0 it updates 4.1.0 ( i will check it, enjoy your vacation)
- validator jar is supposed to be in a folder called packages\hl7.FHIR.Version.Validator#4.0.0\bin ? (i will also fix it - it is failing to find it because it looks for hl7.fhir.version.validator#4.0.0, string comparison is case sensitive, really enjoy the vacation)
Jose Costa Teixeira (Jul 06 2019 at 22:33):
it may be a while before I commit anything because I want to test it around
Grahame Grieve (Jul 08 2019 at 19:57):
lowercase
Jose Costa Teixeira (Jul 11 2019 at 20:58):
just updated it, created a branch.
Jose Costa Teixeira (Jul 11 2019 at 20:59):
I also added a few changes to the toolkit (ExampleScenario and IG editors) onthe same branch. I forgot to get back to the main (after dinner commits...)
Jose Costa Teixeira (Jul 11 2019 at 21:00):
Grahame, ready for you to look at the changes to the validator and merge (or tell me if I should merge)
Jose Costa Teixeira (Jul 12 2019 at 10:26):
https://github.com/grahamegrieve/fhirserver/tree/Validator
Jose Costa Teixeira (Jul 14 2019 at 01:31):
Grahame, I made changes to library/tools/FHIR.Tools.ValidationWrapper.pas for the discussion above. Not sure if they are right.
Can you please check if ok? If so, please let me know so that I can merge this and remove the branch.
https://github.com/grahamegrieve/fhirserver/commit/11f7404bbf4a073ba9a51289e6a565686c92391d
Jose Costa Teixeira (Jul 14 2019 at 01:35):
oh and did you commit these files? They are missing on my end.
uGitForDelphi in '..\dependencies\git\uGitForDelphi.pas',
FHIR.Web.Git in '..\library\web\FHIR.Web.Git.pas';
Grahame Grieve (Jul 15 2019 at 10:15):
oh. didn't realise I was using them. Added them
Jose Costa Teixeira (Dec 26 2019 at 15:41):
I'm unable to compile the toolkit.
Jose Costa Teixeira (Dec 26 2019 at 15:41):
Jose Costa Teixeira (Dec 26 2019 at 15:43):
Grahame, could there be something missing on my end from the commit "rework package handling"?
Jose Costa Teixeira (Dec 28 2019 at 20:00):
@Grahame Grieve
Jose Costa Teixeira (Aug 01 2020 at 15:35):
I finally reinstalled Delphi but it says I need a subscription
Jose Costa Teixeira (Aug 01 2020 at 15:35):
When I get back on this, I think we should have a bundle creator.
Grahame Grieve (Aug 02 2020 at 21:32):
ok
Last updated: Apr 12 2022 at 19:14 UTC