

chkaufmann
Members-
Content Count
164 -
Joined
-
Last visited
Everything posted by chkaufmann
-
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
-
Check string for cyrillic and other characters
chkaufmann posted a topic in RTL and Delphi Object Pascal
My input is a string and I would like to know if: - the string contains cyrillic characters - the string contains greek characters - the string contains thai characters Or more general: If the string contains characters, that are not "near the latin characters". So for äèü it should be false, but for Афонина it should be true. Christian -
Hi, if I enter the following url in my browser, I get a result file with the name "Müller" translated to russian characters: https://translate.googleapis.com/translate_a/single?client=gtx&sl=de&tl=ru&dt=t&q=Müller I tried to implement that with TIdHTTP, but something is missing and I don't find the problem. Here is my code: var data : String; http : TIdHTTP; sslIO : TIdSSLIOHandlerSocketOpenSSL; tmp : TStringStream; url : String; begin http := TIdHTTP.Create(nil); http.HTTPOptions := http.HTTPOptions + [hoNoProtocolErrorException, hoWantProtocolErrorContent]; sslIO := TIdSSLIOHandlerSocketOpenSSL.Create(nil); sslIO.SSLOptions.SSLVersions := [sslvTLSv1, sslvTLSv1_1, sslvTLSv1_2]; sslIO.SSLOptions.Mode := sslmUnassigned; sslIO.SSLOptions.VerifyMode := []; sslIO.SSLOptions.VerifyDepth := 0; http.IOHandler := sslIO; url := TIdUri.UrlEncode('https://translate.googleapis.com/translate_a/single?client=gtx&sl=de&tl=ru&dt=t&q=Müller'); tmp := TStringStream.Create; http.Get(url, tmp); data := tmp.DataString; tmp.Free; http.Free; end; I expect to get the following string (like in the browser): [[["мельник","Müller",null,null,0]],null,"de"] Can somebody tell me what is wrong in my code? Christian
-
I had to set the Accept-Language header, now it works, at least with Russian names. I wasn't aware of the TIdLog components. Good to know because my simple test did not work with Thai and Hebrew names, but I have to investigate there further first because when I paste these characters to the source code file, they look different even though my source file is UTF-8. Christian
-
Thanks for the corrections. However, it still doesn't work and I don't get the translated name in the answer. There must be something else that is done different by the browser. Christian