chkaufmann
Members-
Content Count
158 -
Joined
-
Last visited
Everything posted by chkaufmann
-
Ide Rio: "Compile" not only one project
chkaufmann replied to chkaufmann's topic in Delphi IDE and APIs
It's the "Open File" Manager. I can still use it, but I don't set it as default for opening projects. Before I filtered on *.groupproj files there because almost all projects I have there is more than one .dpr. But now I open the .dproj files and set the most important ones as favorites on the welcom page. Christian -
Ide Rio: "Compile" not only one project
chkaufmann replied to chkaufmann's topic in Delphi IDE and APIs
I had to deactivate the GExperts project manager. Now I can open a .dproj and the previous will be closed. Not perfect, but one problem less. Christian -
Ide Rio: "Compile" not only one project
chkaufmann replied to chkaufmann's topic in Delphi IDE and APIs
Yes, I noticed that now. But when I open the .DPR file, it doesn't close the last one, it just adds the new project in the same ProjectGroup1.groupproj. So again I have more than one project in the group :-(. I know we have many new features in Delphi, but sometimes I wish to see IDE stability as it was in D7.... Christian -
Ide Rio: "Compile" not only one project
chkaufmann replied to chkaufmann's topic in Delphi IDE and APIs
Ok. My .dproj file has about 1800 lines. What should I look for? Christian -
Ide Rio: "Compile" not only one project
chkaufmann replied to chkaufmann's topic in Delphi IDE and APIs
I tried this (only one project per group). But then I run into the problem that the IDE loads this project in a new group (ProjectGroup1.grouproj) the next time I start it and when I compile I have to save the group. Do you just work with .dproj files directly? Christian -
Ide Rio: "Compile" not only one project
chkaufmann replied to chkaufmann's topic in Delphi IDE and APIs
Am I the only one who ever saw this problem? Christian -
Hi, when I shutdown one of my applications I get an error 204. But I get it only if I include FastMM4 in FullDebugMode. The error happens in unit System.pas, method TInstHashMap.Finalize on the row with: while PopInstItem.Free do ; I'm a bit lost, how to find the error because the memory leak report is empty now. Where should I start to search for the problem? I only have it in one application, other applications shut down with no error. Christian
-
Using google with the right key words I found this: https://github.com/pleriche/FastMM4/issues/63 https://quality.embarcadero.com/browse/RSP-22897 Just a workaround but it solved my problem. Christian
-
In my application I have some long running tasks and I'm not sure what is the better way to abort these. I have a global context (per thread) where I set an "aborted" flag when the user pressed "Cancel". 1) Should I check this flag in each loop (while, for, repeat)? 2) Should I check the flag in the most called loops only and then throw an abort exception? I tend to do 1) because then I have better control over the code flow, but what do you think? Christian
-
How to abort tasks
chkaufmann replied to chkaufmann's topic in Algorithms, Data Structures and Class Design
Yes that's clear, but for me the question remains if I should check the flag in each loop down through all code or if I should work with abort exception. Christian -
Hi, http://docwiki.embarcadero.com/RADStudio/Rio/en/Overview_of_Generics here it says, that this is not possible: IItem = interface function ChildItems<I: IInterface>: IEnumerable<I>; end; All I found is this: https://stackoverflow.com/questions/16533131/delphi-interface-generic-function-is-there-a-work-around so not really nice (readable) solutions. Does anybody have other suggestions? Christian
-
TIdHTTPServer.OnCommandGet - Timeout
chkaufmann replied to chkaufmann's topic in Network, Cloud and Web
I use "FHttpServer.Contexts.Count" for status information and it happens, that the counter doesn't go to zero. So I don't know, if it's during read/write or in my code. So the first thing I have to do is to count in the OnCommandGet handler as well, so I know if it's in my code or not. max_execution_time: If I would like to do something like that I would had to handle the request in another again probably? Something like a background worker from the Omnithread library? Then I can set a wait event and cancel execution after a certain amount of time. -
I need a function like stripcslashes() in PHP. Is there something similar in Delphi or do I have to write it on my own. Christian
-
For a HTTP Post request I create a TIdMultiPartFormDataStream and then I use AddFormField() to put my values. Now I noticed, that "=" is replaced by "=3D" and Content-Transfer-Encoding is set to "quoted-printable". Using the $_POST[] variable in my PHP script, the 3D remains and I get wrong results. Now I'm not sure where I should change that? Should the request be without Content-Transfer-Encoding? or with a different one? Or should I change my PHP script and expect a "quoted-printable" string? I didn't find any information for PHP if I can get the Content-Transfer-Encoding from somewhere. I always thought PHP does handle such things automatically. Christian
-
Indy - TIdMultiPartFormDataStream
chkaufmann replied to chkaufmann's topic in Network, Cloud and Web
Thanks Remy. I set the type to '8bit' and all works fine now, even when post variables contain cyrillic characters. -
Yes, that's what I need. Convert \n and \t to chr(10) and chr(9). Treating the string as array is this fine? Or is there a faster way to do it? Something like this n := ASource.Length; SetLength(Result, n); ix1 := 1; ix2 := 1; while ix1 <= n do begin if ASource[ix1] = '\' then begin Inc(ix1); case ASource[ix1] of 't': Result[ix2] := chr(9); 'n': Result[ix2] := chr(10); '\': Result[ix2] := '\'; end; end else Result[ix2] := ASource[ix1]; Inc(ix1); Inc(ix2); end; if ix1 <> ix2 then SetLength(Result, ix2 - 1); Christian
-
Hi, we already missed 10.3, now 10.3.1 is available but we can still not move to the new version because IDE compiler errors are still not fixed. Our major project is quite large but what we found is, that this issue is probably the problem we have: https://quality.embarcadero.com/browse/RSP-22307 What is the best way to get this fixed now? It's unresolved since 4 months now and having such a "show stopper" all the new fancy features in the IDE are just useless when such basics like the compiler don't work. Christian
-
Yes Devart db components are reliable and stable. I use UniDac since years and it works with no problems with Firebird, MS SQL, Postgresql and Oracle. Christian
-
Hi, I try to create an Android app. My device is not listed under "Target" so I found this page: http://docwiki.embarcadero.com/RADStudio/Rio/en/Installing_the_USB_Driver_for_Your_Android_Device I have the driver downloaded. However if I try to update it in the Device Manager it's not recognized and if I load the android_winusb.inf file explicitly I get an error (no compatible driver found). I'm using a Lenovo laptop with Win7 installed. My device is a Samsung A3 and in the Windows file explorer it's listed correctly. But in driver details I can see that it is still using a Microsoft Driver 6.1.7601.18738. How can I solve this problem? Christian
-
I found this one: https://www.makeuseof.com/tag/android-wont-connect-windows-adb-fix-it-three-steps/ Now it works. But the next problem is the debugger, which doesn't work because my Samsung A3 (two years old) has only Android 8.0 on it :-(. Other than that I have a "Hello World" now, but without debugger it's a bit difficult, e.g. to find out how gestures really work. Christian
-
I have a controller for "remote files". If the file is not yet on the local disk, I download it in the background (using a IOmniBackgroundWorker) and then call an event when the file is available. procedure TMyController.GetFile(const AFilename: String; AOnFileAvailable: TNotifyEvent); begin ... end; AOnFileAvailable is a method of a form which loads the file to display it. Now it may happen that the form will be closed before the download is finished and in this case a call to AOnFileAvailable will cause an access violation. My question: What is the common pattern to solve this issue? I was thinking about passing an object/interface instead of the event so the form can set it to invalid before it's destroyed. But maybe this is solved using existing code from the OmniThread Library? Christian
-
That was my idea as well. I did some more research in the internet and Maybe I will use an IOmniFuture<T>. But I have to test this first. Not sure if the OnTerminated event is called everytime and if the CancellationToken is already signaled if all references to it are released. Otherwise it will be easier to create my own call back object/interface.
-
Yes, but the procedure will access for example a TOleContainer to display Word and Excel files. And once the form is gone, the Container is gone as well.
-
Maybe I'm getting old but I still prefer nntp, pure text. It's much easier to follow interesting threads and ignore others. No web interface beats something like XanaNews. Christian
-
Well, for me this kind of solutions are fine in the world of "Open Source Tools", but not when I'm forced to pay a subscription fee. In our case the compiler not even shows us the exact location. I just get the error "[dcc32 Fatal Error] F2084 Internal Error: DBG1226" during compilation, well in fact during linking. And the only QC report with this error I found is the one listed above. So in the end I don't know where to search the error in a project with several hundred thousand lines of code. I use generic functions in different places, but having these removed is a "showstopper" for me. Christian