Avoid nil dereferences after failed table RPC requests
Review effort 1/5
## Summary
- capture the RPC version once for each `RequestInfo` call
- use the same version snapshot for field filtering, request formatting, and response decoding
- convert RPC 16+ table responses only when `SendRequest` succeeds
## Why
`SendRequest` returns `nil` for transport, HTTP, and RPC failures. Passing that result directly to `TranslateTableToObjects` caused a nil dereference. Reading `FRPCVersion` again after the blocking request could also make response decoding disagree with the format requested before the call.
## Validation
- checked RPC versions below and above 16 with successful and failed request results
- verified failed requests retain `nil` and bypass table conversion
- verified successful RPC 16+ responses still use table conversion
- verified request formatting and response decoding use one version snapshot
- rebased onto the latest `master` with one commit changing only `rpc.pas`
合并状态:未合并 8 条评论