Skip to content

Commit 73beea9

Browse files
committed
Method reflection partial support for FPC
1 parent 67c6e49 commit 73beea9

File tree

4 files changed

+177
-98
lines changed

4 files changed

+177
-98
lines changed

Diff for: Lazarus/HproseSyna.lpk

+14-10
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
3737
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
3838
"/>
3939
<Version Major="1" Minor="4"/>
40-
<Files Count="19">
40+
<Files Count="20">
4141
<Item1>
4242
<Filename Value="..\Source\Synapse\jedi.inc"/>
4343
<Type Value="Include"/>
@@ -95,26 +95,30 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
9595
<Type Value="Include"/>
9696
</Item14>
9797
<Item15>
98-
<Filename Value="..\Source\HproseCommon.pas"/>
99-
<UnitName Value="HproseCommon"/>
98+
<Filename Value="..\Source\ObjAutoX.pas"/>
99+
<UnitName Value="ObjAutoX"/>
100100
</Item15>
101101
<Item16>
102-
<Filename Value="..\Source\HproseIO.pas"/>
103-
<UnitName Value="HproseIO"/>
102+
<Filename Value="..\Source\HproseCommon.pas"/>
103+
<UnitName Value="HproseCommon"/>
104104
</Item16>
105105
<Item17>
106-
<Filename Value="..\Source\HproseClient.pas"/>
107-
<UnitName Value="HproseClient"/>
106+
<Filename Value="..\Source\HproseIO.pas"/>
107+
<UnitName Value="HproseIO"/>
108108
</Item17>
109109
<Item18>
110+
<Filename Value="..\Source\HproseClient.pas"/>
111+
<UnitName Value="HproseClient"/>
112+
</Item18>
113+
<Item19>
110114
<Filename Value="..\Source\Synapse\HproseHttpClient.pas"/>
111115
<HasRegisterProc Value="True"/>
112116
<UnitName Value="HproseHttpClient"/>
113-
</Item18>
114-
<Item19>
117+
</Item19>
118+
<Item20>
115119
<Filename Value="Hprose.lrs"/>
116120
<Type Value="LRS"/>
117-
</Item19>
121+
</Item20>
118122
</Files>
119123
<RequiredPkgs Count="2">
120124
<Item1>

Diff for: Source/Hprose.inc

+2
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,7 @@
189189

190190
{$ifdef DELPHI2010_UP}
191191
{$define Supports_Rtti}
192+
{$define Supports_Rtti2}
192193
{$endif}
193194

194195
{$ifdef DELPHIXE3_UP}
@@ -199,6 +200,7 @@
199200

200201
{$ifdef FPC}
201202
{$define Supports_UInt64}
203+
{$define Supports_Rtti2}
202204
{$mode objfpc}
203205
{$inline on}
204206
{$H+}

Diff for: Source/HproseCommon.pas

+2-2
Original file line numberDiff line numberDiff line change
@@ -859,7 +859,7 @@ implementation
859859
{$IFNDEF FPC}, StrUtils{$ENDIF}
860860
{$IFDEF DELPHIXE4_UP}{$IFNDEF NEXTGEN}, AnsiStrings{$ENDIF}{$ENDIF}
861861
{$IFDEF Supports_Rtti}, Rtti{$ENDIF}{$IFDEF DELPHIXE2_UP}, ObjAuto{$ENDIF}
862-
{$IFNDEF FPC}, ObjAutoX{$ENDIF};
862+
{$IFDEF DELPHI7_UP}, ObjAutoX{$ENDIF};
863863

864864
type
865865

@@ -4203,7 +4203,7 @@ function TVarObjectType.DoFunction(var Dest: TVarData; const V: TVarData;
42034203
Variant(Dest) := Intf.Invoke(Name, Arguments);
42044204
end
42054205
else begin
4206-
{$IFNDEF FPC}
4206+
{$IFDEF DELPHI7_UP}
42074207
Result := GetMethodInfo(Obj, Name) <> nil;
42084208
if Result then Variant(Dest) := ObjectInvoke(Obj, Name, TVariants(Arguments));
42094209
{$ELSE}

0 commit comments

Comments
 (0)