Rollo62
Members-
Content Count
1747 -
Joined
-
Last visited
-
Days Won
23
Everything posted by Rollo62
-
Do you mean like that ? https://community.embarcadero.com/blogs/entry/adding-headers-to-tlistview-programmatically This is done via TListItemPurpose.
-
Can you resolve this by building an empty test-app with XCode ? Usually XCode fixes (or at least warns) all issues, like missing/wrong provisionging files. After empty XCode app is running, you could try another empty app via Fmx.
-
As far as i understood EMBT, the IdeFixPack should be partly Integrated. Is there still tve need for the rest ?
-
Did you define a connection profile ?
-
Conditional compilation for various Delphi versions
Rollo62 replied to dummzeuch's topic in Tips / Blogs / Tutorials / Videos
I personally use ifdef as modularization option of common behaviours, for different customers or versions, e.g. in a common configuration file (*.inc normally). What I mean here is for example the support of special custom hardware modules (e.g. for connection to special hardware which is supported). To make the whole process more readable, I personally use a special signature for my ifdefs very often, which makes the whole status and situation very readable and clear for the status of switching ON and OFF., {$DEFINE _X_USE_MODULE_A} {$DEFINE _X_USE_MODULE_B} {$DEFINE ___USE_MODULE_C} {$DEFINE _X_USE_MODULE_D} {$DEFINE ___USE_MODULE_E} ... {$IFDEF _X_USE_MODULE_A} ... {$ENDIF _X_USE_MODULE_A} I know that mostly the notation of {.DEFINE Module_A} is used for switching off conditionals, but I very much dislike this for poor readability, especialy if you have switches for many similar options, like in above sample. This is just a possible, different way to to defines (which I have never seen anywhere else before, but this I don't care). Maybe somebody likes such "talking" defines too. -
Unable to deploy after unchecking 'include splash image'
Rollo62 replied to Yaron's topic in Delphi IDE and APIs
I've installed Rio right now, and testing ... So I had some time to check for your issue, not sure if this is what you want to achieve. When I use this settings And disable these files in the deployment manager My project APK results in missing those splash images under /res Still possible to compile, debug and launch with RadStudio -
Android 8.0 Permissions errors using Delphi Rio 10.3
Rollo62 replied to Jose Morango's topic in Cross-platform
I think it should be good practice to request permission short before desired access, Not to request this generally in FormCreate or FormShow. If you do so rhe request will popup directly after app launched, maybe not even fully prepared, and users (like me) will see this quite suspicious. -
I used something like this for testing purposes // Adds a new Bitmapitem to the ImageList acc. to InsertPos // iInsertPos = -1 = Append; iInsertPos = Insert(iPos, ... insert before // ASrcRect defines the CropRect of the SourceBmp, which is used in Destination // Return the just added ImgList ID function ImgList_Bitmap_Add( iInsertPos : Integer; const ADestImgList : TImageList; const ADestRect : TRectF; const ASrcBmp : TBitmap ) : Integer; var isi: TSourceItem; idi: TDestinationItem; lay: TLayer; sSrcName: string; bmi: TBitmapItem; ms: TMemoryStream; begin Result := -1; if not Assigned(ADestImgList) or not Assigned(ASrcBmp) then Exit; if (ASrcBmp.Width = 0) or (ASrcBmp.Height = 0) then Exit; try // Create new Source entry if iInsertPos < 0 then isi := ADestImgList.Source.Add as TSourceItem // Append else isi := ADestImgList.Source.Insert(iInsertPos) as TSourceItem; // Insert before if not Assigned(isi) then begin Exit; // Somethings wrong end; // Create MultiResBitmap w/ LAyer if isi.MultiResBitmap.Count = 0 then begin bmi := isi.MultiResBitmap.Add as TBitmapItem; if not Assigned(bmi) then begin Exit; // Somethings wrong end; // Add the Bitmap via Stream, to allow Format settings ms := TMemoryStream.Create; // Copy Bmp via Stream, so that PNG-Format is possible try ASrcBmp.SaveToStream( ms ); ms.Position := 0; bmi.Bitmap.CreateFromStream( ms ); finally ms.Free; end; end; // Get the unique SourceItem Name sSrcName := isi.Name; // Create new Destination entry if iInsertPos < 0 then idi := ADestImgList.Destination.Add as TDestinationItem // Append else idi := ADestImgList.Destination.Insert(iInsertPos) as TDestinationItem; // Insert before if not Assigned(idi) then begin Exit; // Somethings wrong end; // Add new Dest Layer, for output lay := idi.Layers.Add; if Assigned(lay) and (sSrcName <> '') then begin // Link the Layer with the Source, so that Output Bitmap is linked lay.Name := sSrcName; // Setup the link the the Source Bitmap here lay.SourceRect.Rect := ADestRect; // Region which crops within the soure-Rect // Finally new Bitmap is in list, return the destination ID Result := idi.Index; end; finally end; end;
-
Unable to deploy after unchecking 'include splash image'
Rollo62 replied to Yaron's topic in Delphi IDE and APIs
Not sure if that is a good idea. https://cyrilmottier.com/2013/01/23/android-app-launching-made-gorgeous/ Maybe simplest way is to provide a black PNG image. -
+1 But on desktop there is the title line at the bottom too (not sure on mobile), but still scroling is necessary.
-
Thanks for the great tool, I will check a little later. Good decision in general, to make projects futureproof, instead of trying to re-invent the past 👍
-
+1
-
Exactly,I would think the same way. But since Arnauld is recommending mORMOT, does this help to allow Multi User ?
-
Thanks, good to know. I use AutoLock to avoid fastly Off After 20sec, but Thanks Good I have very likely user interactions within 20min.
-
How do you test your Delphi applications for Android?
Rollo62 replied to Yaron's topic in Software Testing and Quality Assurance
Have you installed all hotfixes, etc., and have you tried with a "blank" app, e.g. just a button ? -
How do you test your Delphi applications for Android?
Rollo62 replied to Yaron's topic in Software Testing and Quality Assurance
Yes, I mostly had problems with iOS and Samsung devices. But currently (since 10.2.3) all is fine. -
Another good expression parser is the one from LiveBindings, explained by Daniele Teti. Not sure if that old XE2 sample still works, but it should give the basic idea. I use the expression engine of LiveBindings for calculations in my projects, usable in runtime. This is how I use it: uses System.Rtti , System.Bindings.EvalSys , System.Bindings.EvalProtocol , System.Bindings.Evaluator , System.Bindings.Methods ; function TTestCalculator.Evaluate(const AExpr: string) : Double; var LScope: IScope; LCompiledExpr: ICompiledBinding; LResult: TValue; begin Result := 0.0; try LScope := TNestedScope.Create(BasicOperators, BasicConstants); //add the registered methods LScope := TNestedScope.Create(LScope, TBindingMethodsFactory.GetMethodScope); LCompiledExpr := Compile(AExpr, LScope); LResult := LCompiledExpr.Evaluate(LScope, nil, nil).GetValue; if not LResult.IsEmpty then Result := LResult.AsExtended; finally LCompiledExpr := nil; LScope := nil; end; end;
-
Where do I store my own images on Android?
Rollo62 replied to John Kouraklis's topic in Cross-platform
You could consider to use System.IOUtils.TPath.Combine(path1, path2); to get rid of the TPath.DirectorySeparatorChar -
How do you test your Delphi applications for Android?
Rollo62 replied to Yaron's topic in Software Testing and Quality Assurance
Yes, I use RadStudio under Win10 (1803), in VmWare Fusion (still V11), on a Mac for iOS and Android development. -
How do you test your Delphi applications for Android?
Rollo62 replied to Yaron's topic in Software Testing and Quality Assurance
I have about 6-7 different devices, including Android & iOS, for direct testing. But I mean that I'm lucky to have also several Beta-Tester, with more devices, so usually I can test about 20 different devices before upload to the stores. -
Clean Code and Fast Code Slides at EKON 22
Rollo62 replied to Arnaud Bouchez's topic in Tips / Blogs / Tutorials / Videos
Ok, sorry. I misunderstood your question. Now I got your point. -
Clean Code and Fast Code Slides at EKON 22
Rollo62 replied to Arnaud Bouchez's topic in Tips / Blogs / Tutorials / Videos
What happens if you put this in a local procedure, and call it instead ? procedure Main_Function; var meters: TDistanceMeters; miles: TDistanceMiles; begin miles := 100; // No syntax error, no warning, no hint meters := ConvertMetersToMiles(miles); // No syntax error, no warning, no hint end; -
How do you test your Delphi applications for Android?
Rollo62 replied to Yaron's topic in Software Testing and Quality Assurance
I try to test the most common devices in the market, the rare devices I do ignore (not much complaints yet from customers). From Asia I have got more issues, that apps don'T start, but usually they have strange versions of Android running. -
Some isues I had with Samsung devices for debugging in the past, since they seem to had problems with permissions to debug. There were issues with accelleration sensor too, not returning any data. But with the current versions this works again, and debugging is quite smooth (but somewhat slow). Of coarse my oldest, main phone for testing is Samsung S7 Edge, also with older Android 7.0, so I don't check with older devices or OS really.
-
I cannot complain much. Works well from a VM und er Macos, able to debug iOS and android. Usually iOS was more trickier to get running för me, Android was always quite calm. Only since Google changed permissions it got problematic. Rollo