Joe Sansalone
Members-
Content Count
103 -
Joined
-
Last visited
Everything posted by Joe Sansalone
-
Is it possible to compile with just a .dcp? instead of DCUs or *.pas?
Joe Sansalone replied to Joe Sansalone's topic in General Help
Sometimes there are packages that have no design-time components. I don't need to install such a package in the IDE, correct? -
Interbase: Full encryption vs None, performance diff
Joe Sansalone replied to Joe Sansalone's topic in Databases
@Sriram We have 1 column that we need to encrypt. Although it will be in a very used table. And we are thinking of encrypting the entire database too. 5 to 10% overall performance impact is not bad. For our website, we do custom connection pooling. But also have direct connections to the server, via desktop apps. Even a full 10% hit is ok. Thank you for the detailed reply. Useful to have as reference. Good to know that using Change Views also helps reduce impact because of encryption. Thank you. -
Hi, I'm using the sample project Change Views,Generic that came with Delphi 11. I changed the EventAlerter to use DataMerge instead of DeltaMerge, so that the query dataset is up to date exactly like in the database. It works with Interbase 2020 server perfectly (inserts, updates and deletes). But if it's an Interbase 2017 server, deletes do NOT get processed. (inserts and updates work properly) Is this a bug? Joe
-
Sriram, thank you for the update. I'm going to look into upgrading to Interbase 2020.
-
Jeff, CachedUpdates is true. And I had the rtDeleted in FilterChanges property. I compiled again with 11.1 (just in case) and connected to a InterBase 2017 server (version 13.4.0.350). Are you sure you were using Interbase 2017? I don't see deletes (tried both with DeltaMerge and DataMerge in the EventAlerter). It works with Interbase 2020. What exact version are you using with Interbase 2017? Joe
-
Hi, I've never used the Migration Tool that comes with Delphi. Does it migrate IDE settings and installed packages? Thinking of using it for Delphi 11 to Delphi 11.1. Any tips?
-
After downloading the Web Install file, I ran it and soon after popped up some error (I don't remember what it was), I clicked continue and it kept popping up some error even though it kept continuing. At some point, it would not continue ... so I ran the Web Install file again. That's when it installed Delphi ... but did not keep registry entries.
-
I let the new setup uninstall. And I selected to keep registry. I believe the options were 1. Yes - remove registry entries 2. No - do not remove. (default) <---- simply left at as is.
-
Luckily I saved the registry settings! 11.1 Web Install did not preserve any settings. Thanks.
-
Ok. I thought we need to re-install packages etc because 11.1 seems to be a FULL install.
-
REST Client gets STUCK (no response or timeout exception etc)
Joe Sansalone posted a topic in Network, Cloud and Web
Hi, (Delphi 11, also tried Delphi 10.4) I'm running an application 24/7 that works for a few weeks and then gets STUCK waiting for a response from executing a REST Client Request. No exception. No timeout. Does not return from FRESTRequest.Execute The server that is being Requested, gets the request AND does respond. Below is the code. The ModifyCall procedure gets executed many times and works before hitting this problem. Sometimes restarting the application is not enough to fix the problem. I need to restart windows! 1. Can I force a max timeout? So that if it gets stuck, at least I can handle the timeout. 2. Any idea why this would occur? Joe constructor TTwilioAPI.Create(aAccountSID, aPassword: string); begin inherited Create; FTwiML := TTwilioML.Create; FAccountSID := aAccountSID; FPassword := aPassword; FRESTClient := TRESTClient.Create('https://api.twilio.com/2010-04-01'); FRESTRequest := TRESTRequest.Create(FRESTClient); FRESTResponse := TRESTResponse.Create(FRESTClient); FHTTPBasicAuthenticator := THTTPBasicAuthenticator.Create(FAccountSID, FPassword); FRESTClient.Authenticator := FHTTPBasicAuthenticator; FRESTRequest.Client := FRESTClient; FRESTRequest.Response := FRESTResponse; FRESTClient.ContentType := 'application/x-www-form-urlencoded'; FRESTClient.SecureProtocols := [THTTPSecureProtocol.TLS12, THTTPSecureProtocol.TLS11, THTTPSecureProtocol.TLS1]; FBaseURL := cBaseURL; // default end; function TTwilioAPI.ModifyCall(aTwiML, aCallSid: string; sync: boolean = false): boolean; var statusCode: integer; begin result := True; FRESTRequest.Params.Clear; FRestRequest.Resource := '/Accounts/{AccountSid}/Calls/{Sid}.json'; FRestRequest.Params.AddItem('AccountSid', FAccountSID, TRestRequestParameterKind.pkURLSEGMENT); FRestRequest.Params.AddItem('Sid', aCallSid, TRestRequestParameterKind.pkURLSEGMENT); FRestRequest.Params.AddItem('Twiml', aTwiML, TRestRequestParameterKind.pkGETorPOST); FRESTRequest.Method := rmPOST; try FRESTRequest.Execute; <=============== does not Return from this except on E:EHTTPProtocolException do begin if Assigned(FLog) then FLog.WriteTimeStamp(lctHTTP, lptImportant, 'ModifyCall API: error executing request'); result := false; raise ETwilioCallError.Create('HTTP protocol exception'); end; on E:ERESTException do begin if Assigned(FLog) then FLog.WriteTimeStamp(lctHTTP, lptImportant, 'ModifyCall API: ERESTException'); result := false; raise ETwilioCallError.Create('HTTP protocol exception'); end; end; statusCode := FRESTResponse.StatusCode; //TODO: IF 400 or 500 raise Exception ETwilioError FResponseData := TJSON.JsonToObject<TTwilioResponseObj>(TranslateJsonNames(FRESTResponse.Content)); if Assigned(FLog) then FLog.WriteTimeStamp(lctHTTP, lptNormal, 'ModifyCall API response: status: ' + FResponseData.status + ' sid(call): ' + FResponseData.sid + ' statusCode: ' + InttoStr(statusCode) + ' raw response:' + FRESTResponse.Content + ' message: ' + FResponseData.msg); if (statusCode = 400) then begin if Pos('Call is already in transferring', FResponseData.msg) > 0 then begin if Assigned(FLog) then FLog.WriteTimeStamp(lctHTTP, lptImportant, 'ModifyCall API - BUG'); end; if Pos('Call is not in_progress', FResponseData.msg) > 0 then raise ETwilioHungup.Create('No call in progress') else raise ETwilioCallError.Create('status code 400'); end; end; -
I also noticed something in Quality Central that referred to a similar issue. Updated to latest versions of IB2017 and IB2020 just recently (per Sriram's suggestion) .. still same problem. I use IBX. Just recently used FireDAC because of FDEventAlerter/Subscription/DataMerge ability. Is updating a dataset in IBX via Subscriptions/events similar to how FireDAC does it? Where can I read up on IBX and Subscriptions?
-
Hi, I'm using the TFDEventAlerter with a Subscription (Interbase) for any update, delete or insert on a table. The FDQuery has CachedUpdates set to True. It was working fine but then during testing, error: "[FireDAC][Phys][IB]subscription transaction not found" after an event was received from Interbase to notify of a change to the table. Does anybody know WHY this would happen? The first change to the table gets propagated correctly. The 2nd change results in above error. Using Delphi 11. Connecting to remote Interbase 2017.
-
Interbase 2017 server, with Change Views Generic sample Delphi 11 does NOT handle deletes properly. But changing the server to IB2020 makes it work. Any work around?
-
It seems to be related to having another FDConnection - even though other connection is not being used. When other connection component is taken off the data module, the FDEventAlerter successfully updates the FDQuery. I just need to figure out why DELETEs are not being merged into the FDQuery???
-
Hi, Would a mismatch of SDK (15.2) to device (15.3) possibly cause something not to work? When I test an app on the iPhone, everything works except audio doesn't play. And the code to make audio play worked on previous iOS. I checked over and over and the code is correct. Could the SDK/device iOS version mismatch be the problem? (15.2 SDK vs 15.3 device) Joe
-
mismatch? SDK 15.2, iOS device 15.3
Joe Sansalone replied to Joe Sansalone's topic in Cross-platform
My mistake - forgot about those references to icon files. -
mismatch? SDK 15.2, iOS device 15.3
Joe Sansalone replied to Joe Sansalone's topic in Cross-platform
I did file a report in QP. I downloaded the zipped test project and it opens fine in Delphi IDE and builds. I'm running Delphi 11 on Windows 11 ARM via Parallels on macOS (ARM). What error did you get? -
mismatch? SDK 15.2, iOS device 15.3
Joe Sansalone replied to Joe Sansalone's topic in Cross-platform
Tested an Xcode project that generates tones in the same way that my Delphi app does. Works on my iPhone 12 via Xcode (audio is heard). BUT Delphi app doesn't work on device. -
mismatch? SDK 15.2, iOS device 15.3
Joe Sansalone replied to Joe Sansalone's topic in Cross-platform
I stripped down the app to the bare essential that doesn't work. In other words, the audio is not playing (using AudioToolbox, rendering audio samples via code). Attached is the project. Audio Problem Test.zip -
mismatch? SDK 15.2, iOS device 15.3
Joe Sansalone replied to Joe Sansalone's topic in Cross-platform
It worked on iOS 10, iOS 9. Yeah I checked that the mute button is not switched. (it's not bone-headed to suggest that, as I TOO have done things like that lol) I can reproduce the "no audio" problem on my iPhone 12 (iOS 15.3). I'm going to TRY running something in Xcode that is very similar and see what happens. I'll update asap. NOTE: I'm using AVAudioSession and Audio Unit (Output, RemoteIO) - i.e. using AudioToolBox -
iOS framework source code, in order to translate to Delphi
Joe Sansalone posted a topic in Cross-platform
Hi, I used some CoreAudio translated files back in Delphi 10 (Seattle) and they worked great. Now, in Delphi 11, they compile but there's a problem with the audio .. no audio is produced. So I'd like to see the original Apple source code for these functions/structs etc, in order to make sure that I have the correct translation to Object Pascal. Where do I get the source for the AudioToolbox framework? Does XCode come with source? Joe -
I have an HTTP Server application that was compiled with Delphi 10.4.2 running fine on Windows 2019. I also have Delphi 11 running on Windows 11 (ARM) via Parallels on a macbook pro (M1). The exact same source code compiles without error, using Delphi 11. BUT when running (Delphi 11 app) on both Windows 11 or Windows 2019, does not receive HTTPS correctly - SAME INDY version. When SSL is not used, the app receives correctly BUT using REST components to initiate HTTPS outbound, the receiving external server will complain that some POST parameters are missing. I'm wondering if ALL of this is due to unsupported Windows 11 ARM???
-
Windows 11 (ARM) - strange behavior
Joe Sansalone replied to Joe Sansalone's topic in Network, Cloud and Web
That's a good question. Both Indy and the REST (non-Indy) components are affected. So it seems to be something at a lower level. It's a guess. -
Do REST components use Indy? I'm using Delphi 10.4.