├── README.md ├── librabbitmq.7z ├── Samples ├── amqp_connect_timeout │ └── amqp_connect_timeout.dpr ├── amqp_exchange_declare │ └── amqp_exchange_declare_.dpr ├── amqp_bind │ ├── amqp_bind.dpr │ └── amqp_bind.dproj ├── amqp_unbind │ ├── amqp_unbind.dpr │ └── amqp_unbind.dproj ├── amqp_sendstring │ └── amqp_sendstring.dpr ├── amqp_listenq │ ├── amqp_listenq.dpr │ └── amqp_listenq.dproj ├── amqp_listen │ ├── amqp_listen.dpr │ └── amqp_listen.dproj ├── amqp_producer │ └── amqp_producer.dpr ├── uRabbitMQ.Utils.pas ├── amqp_rpc_sendstring_client │ └── amqp_rpc_sendstring_client.dpr ├── amqp_consumer │ └── amqp_consumer.dpr └── Samples.groupproj ├── .gitignore └── LICENSE /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeZiHang/Delphi-RabbitMQ/HEAD/README.md -------------------------------------------------------------------------------- /librabbitmq.7z: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeZiHang/Delphi-RabbitMQ/HEAD/librabbitmq.7z -------------------------------------------------------------------------------- /Samples/amqp_connect_timeout/amqp_connect_timeout.dpr: -------------------------------------------------------------------------------- 1 | program amqp_connect_timeout; 2 | 3 | {$APPTYPE CONSOLE} 4 | 5 | 6 | uses 7 | System.SysUtils, 8 | uRabbitMQ, 9 | uRabbitMQ.Utils in '..\uRabbitMQ.Utils.pas'; 10 | 11 | procedure Run; 12 | var 13 | hostname:AnsiString; 14 | port:Integer; 15 | socket:pamqp_socket_t; 16 | conn:amqp_connection_state_t; 17 | tval:timeval; 18 | tv:ptimeval; 19 | begin 20 | if (ParamCount < 3) then 21 | begin 22 | Writeln('Usage: amqp_connect_timeout host port [timeout_sec [timeout_usec=0]]'); 23 | Halt(1); 24 | end; 25 | 26 | if (ParamCount > 3) then 27 | begin 28 | tv := @tval; 29 | 30 | tv.tv_sec := StrToInt(ParamStr(3)); 31 | 32 | if (ParamCount > 4 ) then 33 | tv.tv_usec := StrToInt(ParamStr(4)) 34 | else 35 | tv.tv_usec := 0; 36 | 37 | 38 | end else 39 | tv := nil; 40 | 41 | 42 | 43 | hostname := ParamStr(1); 44 | port := StrToInt(ParamStr(2)); 45 | 46 | conn := amqp_new_connection(); 47 | 48 | socket := amqp_tcp_socket_new(conn); 49 | 50 | if not Assigned(socket) then 51 | die('creating TCP socket',[]); 52 | 53 | 54 | die_on_error(amqp_socket_open_noblock(socket, PAnsiChar(hostname), port, tv), 'opening TCP socket'); 55 | 56 | die_on_amqp_error(amqp_login(conn, '/', 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, 'guest', 'guest'), 'Logging in'); 57 | 58 | die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), 'Closing connection'); 59 | die_on_error(amqp_destroy_connection(conn), 'Ending connection'); 60 | 61 | WriteLn ('Done'); 62 | halt(0); 63 | end; 64 | 65 | begin 66 | Run; 67 | end. 68 | -------------------------------------------------------------------------------- /Samples/amqp_exchange_declare/amqp_exchange_declare_.dpr: -------------------------------------------------------------------------------- 1 | program amqp_exchange_declare_; 2 | 3 | {$APPTYPE CONSOLE} 4 | 5 | uses 6 | System.SysUtils, 7 | uRabbitMQ, 8 | uRabbitMQ.Utils in '..\uRabbitMQ.Utils.pas'; 9 | 10 | procedure main; 11 | var 12 | hostname: AnsiString; 13 | port, status: Integer; 14 | exchange: AnsiString; 15 | exchangetype: AnsiString; 16 | socket: pamqp_socket_t; 17 | conn: amqp_connection_state_t; 18 | begin 19 | 20 | if (ParamCount < 5) then 21 | begin 22 | WriteLn('Usage: amqp_exchange_declare host port exchange exchangetype\n'); 23 | Halt(1); 24 | end; 25 | 26 | hostname := ParamStr(1); 27 | port := StrToInt(ParamStr(2)); 28 | exchange := ParamStr(3); 29 | exchangetype := ParamStr(4); 30 | 31 | conn := amqp_new_connection(); 32 | 33 | socket := amqp_tcp_socket_new(conn); 34 | if not Assigned(socket) then 35 | die('creating TCP socket', []); 36 | 37 | status := amqp_socket_open(socket, PAnsiChar(hostname), port); 38 | if (status <> 0) then 39 | die('opening TCP socket', []); 40 | 41 | die_on_amqp_error(amqp_login(conn, '/', 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, 'guest', 'guest'), 'Logging in'); 42 | amqp_channel_open(conn, 1); 43 | die_on_amqp_error(amqp_get_rpc_reply(conn), 'Opening channel'); 44 | 45 | amqp_exchange_declare(conn, 1, amqp_cstring_bytes(PAnsiChar(exchange)), amqp_cstring_bytes(PAnsiChar(exchangetype)), 0, 0, 0, 0, amqp_empty_table); 46 | die_on_amqp_error(amqp_get_rpc_reply(conn), 'Declaring exchange'); 47 | 48 | die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), 'Closing channel'); 49 | die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), 'Closing connection'); 50 | die_on_error(amqp_destroy_connection(conn), 'Ending connection'); 51 | Halt(0); 52 | end; 53 | 54 | begin 55 | main; 56 | 57 | end. 58 | -------------------------------------------------------------------------------- /Samples/amqp_bind/amqp_bind.dpr: -------------------------------------------------------------------------------- 1 | program amqp_bind; 2 | 3 | {$APPTYPE CONSOLE} 4 | 5 | uses 6 | System.SysUtils, 7 | uRabbitMQ, 8 | uRabbitMQ.Utils in '..\uRabbitMQ.Utils.pas'; 9 | 10 | procedure Run; 11 | var 12 | hostname: AnsiString; 13 | port, status: Integer; 14 | exchange: AnsiString; 15 | bindingkey: AnsiString; 16 | queue: AnsiString; 17 | socket: pamqp_socket_t; 18 | conn: amqp_connection_state_t; 19 | 20 | t:amqp_bytes_t; 21 | begin 22 | socket := nil; 23 | if (ParamCount < 6) then 24 | begin 25 | Writeln('Usage: amqp_bind host port exchange bindingkey queue'); 26 | Halt(1); 27 | end; 28 | 29 | hostname := ParamStr(1); 30 | port := StrToInt(ParamStr(2)); 31 | exchange := ParamStr(3); 32 | bindingkey := ParamStr(4); 33 | queue := ParamStr(5); 34 | 35 | conn := amqp_new_connection(); 36 | 37 | socket := amqp_tcp_socket_new(conn); 38 | if not Assigned(socket) then 39 | die('creating TCP socket', []); 40 | 41 | status := amqp_socket_open(socket, PAnsiChar(hostname), port); 42 | 43 | if status <> 0 then 44 | die('opening TCP socket', []); 45 | 46 | die_on_amqp_error(amqp_login(conn, '/', 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, 'guest', 'guest'), 'Logging in'); 47 | amqp_channel_open(conn, 1); 48 | die_on_amqp_error(amqp_get_rpc_reply(conn), 'Opening channel'); 49 | 50 | amqp_queue_bind(conn, 1, amqp_cstring_bytes(PAnsiChar(queue)), amqp_cstring_bytes(PAnsiChar(exchange)), amqp_cstring_bytes(PAnsiChar(bindingkey)), amqp_empty_table); 51 | die_on_amqp_error(amqp_get_rpc_reply(conn), 'Unbinding'); 52 | 53 | die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), 'Closing channel'); 54 | die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), 'Closing connection'); 55 | die_on_error(amqp_destroy_connection(conn), 'Ending connection'); 56 | Halt(0); 57 | end; 58 | 59 | begin 60 | Run; 61 | 62 | end. 63 | -------------------------------------------------------------------------------- /Samples/amqp_unbind/amqp_unbind.dpr: -------------------------------------------------------------------------------- 1 | program amqp_unbind; 2 | 3 | {$APPTYPE CONSOLE} 4 | 5 | uses 6 | System.SysUtils, 7 | uRabbitMQ, 8 | uRabbitMQ.Utils in '..\uRabbitMQ.Utils.pas'; 9 | 10 | procedure main; 11 | var 12 | hostname: AnsiString; 13 | port, status: Integer; 14 | exchange: AnsiString; 15 | bindingkey: AnsiString; 16 | queue: AnsiString; 17 | socket: pamqp_socket_t; 18 | conn: amqp_connection_state_t; 19 | 20 | props: amqp_basic_properties_t; 21 | begin 22 | if (ParamCount < 6) then 23 | begin 24 | WriteLn('Usage: amqp_unbind host port exchange bindingkey queue'); 25 | Halt(1); 26 | end; 27 | 28 | hostname := ParamStr(1); 29 | port := StrToInt(ParamStr(2)); 30 | exchange := ParamStr(3); 31 | bindingkey := ParamStr(4); 32 | queue := ParamStr(5); 33 | 34 | conn := amqp_new_connection(); 35 | 36 | socket := amqp_tcp_socket_new(conn); 37 | if not Assigned(socket) then 38 | die('creating TCP socket', []); 39 | 40 | status := amqp_socket_open(socket, PAnsiChar(hostname), port); 41 | 42 | if status <> 0 then 43 | die('opening TCP socket', []); 44 | 45 | die_on_amqp_error(amqp_login(conn, '/', 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, 'guest', 'guest'), 'Logging in'); 46 | amqp_channel_open(conn, 1); 47 | die_on_amqp_error(amqp_get_rpc_reply(conn), 'Opening channel'); 48 | 49 | amqp_queue_unbind(conn, 1, amqp_cstring_bytes(PAnsiChar(queue)), amqp_cstring_bytes(PAnsiChar(exchange)), amqp_cstring_bytes(PAnsiChar(bindingkey)), amqp_empty_table); 50 | die_on_amqp_error(amqp_get_rpc_reply(conn), 'Unbinding'); 51 | 52 | die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), 'Closing channel'); 53 | die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), 'Closing connection'); 54 | die_on_error(amqp_destroy_connection(conn), 'Ending connection'); 55 | Halt(0); 56 | end; 57 | 58 | begin 59 | main; 60 | end. 61 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Uncomment these types if you want even more clean repository. But be careful. 2 | # It can make harm to an existing project source. Read explanations below. 3 | # 4 | # Resource files are binaries containing manifest, project icon and version info. 5 | # They can not be viewed as text or compared by diff-tools. Consider replacing them with .rc files. 6 | #*.res 7 | # 8 | # Type library file (binary). In old Delphi versions it should be stored. 9 | # Since Delphi 2009 it is produced from .ridl file and can safely be ignored. 10 | #*.tlb 11 | # 12 | # Diagram Portfolio file. Used by the diagram editor up to Delphi 7. 13 | # Uncomment this if you are not using diagrams or use newer Delphi version. 14 | #*.ddp 15 | # 16 | # Visual LiveBindings file. Added in Delphi XE2. 17 | # Uncomment this if you are not using LiveBindings Designer. 18 | #*.vlb 19 | # 20 | # Deployment Manager configuration file for your project. Added in Delphi XE2. 21 | # Uncomment this if it is not mobile development and you do not use remote debug feature. 22 | #*.deployproj 23 | # 24 | # C++ object files produced when C/C++ Output file generation is configured. 25 | # Uncomment this if you are not using external objects (zlib library for example). 26 | #*.obj 27 | # 28 | 29 | # Delphi compiler-generated binaries (safe to delete) 30 | *.exe 31 | *.dll 32 | *.bpl 33 | *.bpi 34 | *.dcp 35 | *.so 36 | *.apk 37 | *.drc 38 | *.map 39 | *.dres 40 | *.rsm 41 | *.tds 42 | *.dcu 43 | *.lib 44 | *.a 45 | *.o 46 | *.ocx 47 | 48 | # Delphi autogenerated files (duplicated info) 49 | *.cfg 50 | *.hpp 51 | *Resource.rc 52 | 53 | # Delphi local files (user-specific info) 54 | *.local 55 | *.identcache 56 | *.projdata 57 | *.tvsconfig 58 | *.dsk 59 | 60 | # Delphi history and backups 61 | __history/ 62 | __recovery/ 63 | *.~* 64 | 65 | # Castalia statistics file (since XE7 Castalia is distributed with Delphi) 66 | *.stat 67 | *.res 68 | /Samples/amqp_connect_timeout/*.res 69 | -------------------------------------------------------------------------------- /Samples/amqp_sendstring/amqp_sendstring.dpr: -------------------------------------------------------------------------------- 1 | program amqp_sendstring; 2 | 3 | {$APPTYPE CONSOLE} 4 | 5 | uses 6 | System.SysUtils, 7 | uRabbitMQ, 8 | uRabbitMQ.Utils in '..\uRabbitMQ.Utils.pas'; 9 | 10 | procedure main; 11 | var 12 | hostname: AnsiString; 13 | port, status: Integer; 14 | exchange: AnsiString; 15 | routingkey: AnsiString; 16 | messagebody: AnsiString; 17 | socket: pamqp_socket_t; 18 | conn: amqp_connection_state_t; 19 | 20 | props: amqp_basic_properties_t; 21 | begin 22 | if (ParamCount < 6) then 23 | begin 24 | WriteLn('Usage: amqp_sendstring host port exchange routingkey messagebody'); 25 | Halt(1); 26 | end; 27 | 28 | hostname := ParamStr(1); 29 | port := StrToInt(ParamStr(2)); 30 | exchange := ParamStr(3); 31 | routingkey := ParamStr(4); 32 | messagebody := ParamStr(5); 33 | 34 | conn := amqp_new_connection(); 35 | 36 | socket := amqp_tcp_socket_new(conn); 37 | if not Assigned(socket) then 38 | die('creating TCP socket', []); 39 | 40 | status := amqp_socket_open(socket, PAnsiChar(hostname), port); 41 | 42 | if status <> 0 then 43 | die('opening TCP socket', []); 44 | 45 | die_on_amqp_error(amqp_login(conn, '/', 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, 'guest', 'guest'), 'Logging in'); 46 | amqp_channel_open(conn, 1); 47 | die_on_amqp_error(amqp_get_rpc_reply(conn), 'Opening channel'); 48 | 49 | begin 50 | props._flags := AMQP_BASIC_CONTENT_TYPE_FLAG or AMQP_BASIC_DELIVERY_MODE_FLAG; 51 | props.content_type := amqp_cstring_bytes('text/plain'); 52 | props.delivery_mode := 2; (* persistent delivery mode *) 53 | die_on_error(amqp_basic_publish(conn, 1, amqp_cstring_bytes(PAnsiChar(exchange)), amqp_cstring_bytes(PAnsiChar(routingkey)), 0, 0, @props, amqp_cstring_bytes(PAnsiChar(messagebody))), 54 | 'Publishing'); 55 | end; 56 | 57 | die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), 'Closing channel'); 58 | die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), 'Closing connection'); 59 | die_on_error(amqp_destroy_connection(conn), 'Ending connection'); 60 | Halt(0); 61 | end; 62 | 63 | begin 64 | main; 65 | 66 | end. 67 | -------------------------------------------------------------------------------- /Samples/amqp_listenq/amqp_listenq.dpr: -------------------------------------------------------------------------------- 1 | program amqp_listenq; 2 | 3 | {$APPTYPE CONSOLE} 4 | 5 | uses 6 | System.SysUtils, 7 | uRabbitMQ, 8 | uRabbitMQ.Utils in '..\uRabbitMQ.Utils.pas'; 9 | 10 | procedure main; 11 | var 12 | hostname: AnsiString; 13 | port, status: Integer; 14 | queuename: AnsiString; 15 | socket: pamqp_socket_t; 16 | conn: amqp_connection_state_t; 17 | 18 | res: amqp_rpc_reply_t; 19 | envelope: amqp_envelope_t; 20 | begin 21 | if (ParamCount < 5) then 22 | begin 23 | WriteLn('Usage: amqp_listenq host port queuename'); 24 | Halt(1); 25 | end; 26 | 27 | hostname := ParamStr(1); 28 | port := StrToInt(ParamStr(2)); 29 | queuename := ParamStr(3); 30 | 31 | conn := amqp_new_connection(); 32 | 33 | socket := amqp_tcp_socket_new(conn); 34 | if not Assigned(socket) then 35 | die('creating TCP socket', []); 36 | 37 | status := amqp_socket_open(socket, PAnsiChar(hostname), port); 38 | if (status <> 0) then 39 | die('opening TCP socket', []); 40 | 41 | die_on_amqp_error(amqp_login(conn, '/', 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, 'guest', 'guest'), 'Logging in'); 42 | amqp_channel_open(conn, 1); 43 | die_on_amqp_error(amqp_get_rpc_reply(conn), 'Opening channel'); 44 | 45 | amqp_basic_consume(conn, 1, amqp_cstring_bytes(PAnsiChar(queuename)), amqp_empty_bytes, 0, 0, 0, amqp_empty_table); 46 | die_on_amqp_error(amqp_get_rpc_reply(conn), 'Consuming'); 47 | 48 | while (True) do 49 | begin 50 | 51 | amqp_maybe_release_buffers(conn); 52 | 53 | res := amqp_consume_message(conn, envelope, nil, 0); 54 | 55 | if (AMQP_RESPONSE_NORMAL <> res.reply_type) then 56 | break; 57 | 58 | WriteLn(Format('Delivery %u, exchange %.*s routingkey %.*s', [envelope.delivery_tag, envelope.exchange.len, PAnsiChar(envelope.exchange.bytes), envelope.routing_key.len, 59 | PAnsiChar(envelope.routing_key.bytes)])); 60 | 61 | if (envelope.message.properties._flags and AMQP_BASIC_CONTENT_TYPE_FLAG <> 0) then 62 | WriteLn(Format('Content-type: %.*s', [envelope.message.properties.content_type.len, PAnsiChar(envelope.message.properties.content_type.bytes)])); 63 | WriteLn('----'); 64 | 65 | amqp_dump(envelope.message.body.bytes, envelope.message.body.len); 66 | 67 | amqp_destroy_envelope(&envelope); 68 | end; 69 | 70 | die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), 'Closing channel'); 71 | die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), 'Closing connection'); 72 | die_on_error(amqp_destroy_connection(conn), 'Ending connection'); 73 | 74 | Halt(0); 75 | end; 76 | 77 | begin 78 | main 79 | 80 | end. 81 | -------------------------------------------------------------------------------- /Samples/amqp_listen/amqp_listen.dpr: -------------------------------------------------------------------------------- 1 | program amqp_listen; 2 | 3 | {$APPTYPE CONSOLE} 4 | 5 | uses 6 | System.SysUtils, 7 | uRabbitMQ, 8 | uRabbitMQ.Utils in '..\uRabbitMQ.Utils.pas'; 9 | 10 | procedure main; 11 | var 12 | hostname: AnsiString; 13 | port, status: Integer; 14 | exchange: AnsiString; 15 | bindingkey: AnsiString; 16 | socket: pamqp_socket_t; 17 | conn: amqp_connection_state_t; 18 | queuename: amqp_bytes_t; 19 | r: pamqp_queue_declare_ok_t; 20 | 21 | res: amqp_rpc_reply_t; 22 | envelope: amqp_envelope_t; 23 | begin 24 | if (ParamCount < 5) then 25 | begin 26 | WriteLn('Usage: amqp_listen host port exchange bindingkey'); 27 | Halt(1); 28 | end; 29 | 30 | hostname := ParamStr(1); 31 | port := StrToInt(ParamStr(2)); 32 | exchange := ParamStr(3); 33 | bindingkey := ParamStr(4); 34 | 35 | conn := amqp_new_connection(); 36 | 37 | socket := amqp_tcp_socket_new(conn); 38 | if not Assigned(socket) then 39 | die('creating TCP socket', []); 40 | 41 | status := amqp_socket_open(socket, PAnsiChar(hostname), port); 42 | if (status <> 0) then 43 | die('opening TCP socket', []); 44 | 45 | die_on_amqp_error(amqp_login(conn, '/', 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, 'guest', 'guest'), 'Logging in'); 46 | amqp_channel_open(conn, 1); 47 | die_on_amqp_error(amqp_get_rpc_reply(conn), 'Opening channel'); 48 | 49 | r := amqp_queue_declare(conn, 1, amqp_empty_bytes, 0, 0, 0, 1, amqp_empty_table); 50 | die_on_amqp_error(amqp_get_rpc_reply(conn), 'Declaring queue'); 51 | queuename := amqp_bytes_malloc_dup(r.queue); 52 | if (queuename.bytes = nil) then 53 | begin 54 | WriteLn('Out of memory while copying queue name'); 55 | Halt(1); 56 | end; 57 | 58 | amqp_queue_bind(conn, 1, queuename, amqp_cstring_bytes(PAnsiChar(exchange)), amqp_cstring_bytes(PAnsiChar(bindingkey)), amqp_empty_table); 59 | die_on_amqp_error(amqp_get_rpc_reply(conn), 'Binding queue'); 60 | 61 | amqp_basic_consume(conn, 1, queuename, amqp_empty_bytes, 0, 1, 0, amqp_empty_table); 62 | die_on_amqp_error(amqp_get_rpc_reply(conn), 'Consuming'); 63 | 64 | while (True) do 65 | begin 66 | 67 | amqp_maybe_release_buffers(conn); 68 | 69 | res := amqp_consume_message(conn, envelope, nil, 0); 70 | 71 | if (AMQP_RESPONSE_NORMAL <> res.reply_type) then 72 | break; 73 | 74 | WriteLn(Format('Delivery %u, exchange %.*s routingkey %.*s', [envelope.delivery_tag, envelope.exchange.len, PAnsiChar(envelope.exchange.bytes), envelope.routing_key.len, 75 | PAnsiChar(envelope.routing_key.bytes)])); 76 | 77 | if (envelope.message.properties._flags and AMQP_BASIC_CONTENT_TYPE_FLAG <> 0) then 78 | begin 79 | WriteLn(Format('Content-type: %.*s', [envelope.message.properties.content_type.len, PAnsiChar(envelope.message.properties.content_type.bytes)])); 80 | end; 81 | WriteLn('----'); 82 | 83 | amqp_dump(envelope.message.body.bytes, envelope.message.body.len); 84 | 85 | amqp_destroy_envelope(envelope); 86 | end; 87 | 88 | die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), 'Closing channel'); 89 | die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), 'Closing connection'); 90 | die_on_error(amqp_destroy_connection(conn), 'Ending connection'); 91 | 92 | Halt(0); 93 | end; 94 | 95 | begin 96 | main; 97 | 98 | end. 99 | -------------------------------------------------------------------------------- /Samples/amqp_producer/amqp_producer.dpr: -------------------------------------------------------------------------------- 1 | program amqp_producer; 2 | 3 | {$APPTYPE CONSOLE} 4 | 5 | uses 6 | System.SysUtils, 7 | uRabbitMQ, 8 | uRabbitMQ.Utils in '..\uRabbitMQ.Utils.pas'; 9 | 10 | const 11 | SUMMARY_EVERY_US = 1000000; 12 | 13 | procedure send_batch(conn: amqp_connection_state_t; queue_name: AnsiString; rate_limit, message_count: Integer); 14 | var 15 | start_time: UInt64; 16 | i, sent, previous_sent: Integer; 17 | previous_report_time, next_summary_time: UInt64; 18 | message: array [0 .. 255] of AnsiChar; 19 | message_bytes: amqp_bytes_t; 20 | now: UInt64; 21 | countOverInterval: Integer; 22 | intervalRate: Double; 23 | stop_time: UInt64; 24 | total_delta: Integer; 25 | begin 26 | start_time := now_microseconds(); 27 | sent := 0; 28 | previous_sent := 0; 29 | previous_report_time := start_time; 30 | next_summary_time := start_time + SUMMARY_EVERY_US; 31 | 32 | for i := 0 to sizeof(message) - 1 do 33 | message[i] := AnsiChar(i and $FF); 34 | 35 | message_bytes.len := sizeof(message); 36 | message_bytes.bytes := @message; 37 | 38 | for i := 0 to message_count - 1 do 39 | begin 40 | now := now_microseconds(); 41 | 42 | die_on_error(amqp_basic_publish(conn, 1, amqp_cstring_bytes(PAnsiChar('amq.direct')), amqp_cstring_bytes(PAnsiChar(queue_name)), 0, 0, nil, message_bytes), 'Publishing'); 43 | Inc(sent); 44 | if (now > next_summary_time) then 45 | begin 46 | countOverInterval := sent - previous_sent; 47 | intervalRate := countOverInterval / ((now - previous_report_time) / 1000000.0); 48 | WriteLn(Format('%d ms: Sent %d - %d since last report (%d Hz)', [(now - start_time) / 1000, sent, countOverInterval, intervalRate])); 49 | 50 | previous_sent := sent; 51 | previous_report_time := now; 52 | Inc(next_summary_time, SUMMARY_EVERY_US); 53 | end; 54 | 55 | while (((i * 1000000.0) / (now - start_time)) > rate_limit) do 56 | begin 57 | microsleep(2000); 58 | now := now_microseconds(); 59 | end; 60 | end; 61 | 62 | stop_time := now_microseconds(); 63 | total_delta := (stop_time - start_time); 64 | 65 | WriteLn(Format('PRODUCER - Message count: %d', [message_count])); 66 | WriteLn(Format('Total time, milliseconds: %d', [total_delta / 1000])); 67 | WriteLn(Format('Overall messages-per-second: %g', [message_count / (total_delta / 1000000.0)])); 68 | end; 69 | 70 | procedure Main; 71 | var 72 | hostname: AnsiString; 73 | port, status: Integer; 74 | rate_limit, message_count: Integer; 75 | socket: pamqp_socket_t; 76 | conn: amqp_connection_state_t; 77 | begin 78 | 79 | socket := nil; 80 | if (ParamCount < 5) then 81 | begin 82 | WriteLn('Usage: amqp_producer host port rate_limit message_count'); 83 | Halt(1); 84 | end; 85 | 86 | hostname := ParamStr(1); 87 | port := StrToInt(ParamStr(2)); 88 | rate_limit := StrToInt(ParamStr(3)); 89 | message_count := StrToInt(ParamStr(4)); 90 | 91 | conn := amqp_new_connection(); 92 | 93 | socket := amqp_tcp_socket_new(conn); 94 | if not Assigned(socket) then 95 | die('creating TCP socket', []); 96 | 97 | status := amqp_socket_open(socket, PAnsiChar(hostname), port); 98 | if (status <> 0) then 99 | die('opening TCP socket', []); 100 | 101 | die_on_amqp_error(amqp_login(conn, '/', 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, 'guest', 'guest'), 'Logging in'); 102 | amqp_channel_open(conn, 1); 103 | die_on_amqp_error(amqp_get_rpc_reply(conn), 'Opening channel'); 104 | 105 | send_batch(conn, 'test queue', rate_limit, message_count); 106 | 107 | die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), 'Closing channel'); 108 | die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), 'Closing connection'); 109 | die_on_error(amqp_destroy_connection(conn), 'Ending connection'); 110 | Halt(0); 111 | end; 112 | 113 | begin 114 | Main; 115 | 116 | end. 117 | -------------------------------------------------------------------------------- /Samples/uRabbitMQ.Utils.pas: -------------------------------------------------------------------------------- 1 | unit uRabbitMQ.Utils; 2 | 3 | interface 4 | 5 | uses SysUtils, Windows, uRabbitMQ; 6 | 7 | procedure amqp_dump(const buffer:Pointer; len:size_t); 8 | 9 | function now_microseconds:UInt64; 10 | 11 | procedure microsleep(usec:Integer); 12 | 13 | procedure die(fmt: String; Args: array of const); 14 | 15 | procedure die_on_error(x: Integer; context: AnsiString); 16 | 17 | procedure die_on_amqp_error(x: amqp_rpc_reply_t; context: AnsiString); 18 | 19 | 20 | implementation 21 | 22 | 23 | function now_microseconds:UInt64; 24 | var 25 | ft:FILETIME; 26 | begin 27 | GetSystemTimeAsFileTime(&ft); 28 | Result:= ((UInt64(ft.dwHighDateTime) shl 32) or ft.dwLowDateTime) 29 | div 10; 30 | end; 31 | 32 | procedure microsleep(usec:Integer); 33 | begin 34 | Sleep(usec div 1000); 35 | end; 36 | 37 | 38 | procedure die(fmt: String; Args: array of const); 39 | begin 40 | WriteLn(Format(fmt, Args)); 41 | Halt(1); 42 | end; 43 | 44 | procedure die_on_error(x: Integer; context: AnsiString); 45 | begin 46 | if (x < 0) then 47 | begin 48 | WriteLn(Format('%s: %s\n', [context, amqp_error_string2(x)])); 49 | Halt(1); 50 | end; 51 | end; 52 | 53 | procedure die_on_amqp_error(x: amqp_rpc_reply_t; context: AnsiString); 54 | var 55 | m: pamqp_connection_close_t; 56 | begin 57 | case x.reply_type of 58 | AMQP_RESPONSE_NORMAL: 59 | Exit; 60 | AMQP_RESPONSE_NONE: 61 | WriteLn(Format('%s: missing RPC reply type!', [context])); 62 | AMQP_RESPONSE_LIBRARY_EXCEPTION: 63 | WriteLn(Format('%s: %s', [context, amqp_error_string2(x.library_error)])); 64 | AMQP_RESPONSE_SERVER_EXCEPTION: 65 | case (x.reply.id) of 66 | AMQP_CONNECTION_CLOSE_METHOD: 67 | begin 68 | m := pamqp_connection_close_t(x.reply.decoded); 69 | WriteLn(Format('%s: server connection error %d, message: %.*s', [context, m.reply_code, m.reply_text.len, PAnsiChar(m.reply_text.bytes)])); 70 | end; 71 | 72 | AMQP_CHANNEL_CLOSE_METHOD: 73 | begin 74 | m := pamqp_connection_close_t(x.reply.decoded); 75 | WriteLn(Format('%s: server channel error %d, message: %.*s', [context, m.reply_code, m.reply_text.len, PAnsiChar(m.reply_text.bytes)])); 76 | end; 77 | else 78 | WriteLn(Format('%s: unknown server error, method id 0x%08X', [context, x.reply.id])); 79 | end; 80 | end; 81 | Halt(1); 82 | end; 83 | 84 | function IsPrint(C:Char):Boolean; 85 | begin 86 | Result:= C in [' '..'~']; 87 | end; 88 | 89 | procedure dump_row(count:UInt32; numinrow:Integer; chs:PIntegerArray); 90 | var 91 | i:Integer; 92 | begin 93 | Write(Format('%08lX:', [count - numinrow])); 94 | 95 | if (numinrow > 0) then 96 | begin 97 | for i := 0 to numinrow-1 do 98 | begin 99 | if (i = 8) then 100 | Write(' :'); 101 | 102 | Write(Format(' %02X', [Char(chs[i])])); 103 | end; 104 | for i:= numinrow to 16-1 do 105 | begin 106 | if (i = 8) then 107 | Write(' :'); 108 | Write(' '); 109 | end; 110 | WriteLn(' '); 111 | for i := 0 to numinrow-1 do 112 | begin 113 | if (IsPrint(Char(chs[i]))) then 114 | Write(Char(chs[i])) 115 | else 116 | Write('.'); 117 | end; 118 | end; 119 | WriteLn; 120 | end; 121 | 122 | function rows_eq(a, b:PIntegerArray):Boolean; 123 | var 124 | i:Integer; 125 | begin 126 | for i:=0 to 16-1 do 127 | if (a[i] <> b[i]) then Exit(False); 128 | Result:=True; 129 | end; 130 | 131 | procedure amqp_dump(const buffer:Pointer; len:size_t); 132 | var 133 | buf:PAnsiChar; 134 | count:UInt32; 135 | numinrow :Integer; 136 | chs:array[0..16-1] of Integer; 137 | oldchs:array[0..16-1] of Integer; 138 | showed_dots:Boolean; 139 | i:size_t; 140 | ch:AnsiChar; 141 | j:Integer; 142 | begin 143 | buf := buffer; 144 | count := 0; 145 | numinrow := 0; 146 | showed_dots := False; 147 | for i := 0 to len-1 do 148 | begin 149 | ch := buf[i]; 150 | 151 | if (numinrow = 16) then 152 | begin 153 | if (rows_eq(@oldchs, @chs)) then 154 | begin 155 | if (not showed_dots) then 156 | begin 157 | showed_dots := True; 158 | WriteLn(' .. .. .. .. .. .. .. .. : .. .. .. .. .. .. .. ..'); 159 | end 160 | end else 161 | begin 162 | showed_dots := False; 163 | dump_row(count, numinrow, @chs); 164 | end; 165 | 166 | for j:=0 to 16-1 do 167 | oldchs[j] := chs[j]; 168 | 169 | numinrow := 0; 170 | end; 171 | 172 | Inc(count); 173 | chs[numinrow] := Ord(ch); 174 | Inc(numinrow); 175 | end; 176 | 177 | dump_row(count, numinrow, @chs); 178 | 179 | if (numinrow <> 0) then 180 | WriteLn(Format('%08lX:', [count])); 181 | end; 182 | 183 | 184 | end. 185 | -------------------------------------------------------------------------------- /Samples/amqp_rpc_sendstring_client/amqp_rpc_sendstring_client.dpr: -------------------------------------------------------------------------------- 1 | program amqp_rpc_sendstring_client; 2 | 3 | {$APPTYPE CONSOLE} 4 | 5 | uses 6 | System.SysUtils, 7 | uRabbitMQ, 8 | uRabbitMQ.Utils in '..\uRabbitMQ.Utils.pas'; 9 | 10 | procedure main; 11 | var 12 | hostname: AnsiString; 13 | port, status: Integer; 14 | exchange: AnsiString; 15 | routingkey: AnsiString; 16 | messagebody: AnsiString; 17 | socket: pamqp_socket_t; 18 | conn: amqp_connection_state_t; 19 | 20 | reply_to_queue: amqp_bytes_t; 21 | 22 | r: pamqp_queue_declare_ok_t; 23 | props: amqp_basic_properties_t; 24 | 25 | frame: amqp_frame_t; 26 | result: Integer; 27 | 28 | d: pamqp_basic_deliver_t; 29 | p: pamqp_basic_properties_t; 30 | body_target, body_received: size_t; 31 | begin 32 | if (ParamCount < 6) then 33 | begin 34 | WriteLn('usage:\namqp_rpc_sendstring_client host port exchange routingkey messagebody'); 35 | Halt(1); 36 | end; 37 | 38 | hostname := ParamStr(1); 39 | port := StrToInt(ParamStr(2)); 40 | exchange := ParamStr(3); 41 | routingkey := ParamStr(4); 42 | messagebody := ParamStr(5); 43 | 44 | conn := amqp_new_connection(); 45 | 46 | socket := amqp_tcp_socket_new(conn); 47 | if not Assigned(socket) then 48 | die('creating TCP socket', []); 49 | 50 | status := amqp_socket_open(socket, PAnsiChar(hostname), port); 51 | 52 | if status <> 0 then 53 | die('opening TCP socket', []); 54 | 55 | die_on_amqp_error(amqp_login(conn, '/', 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, 'guest', 'guest'), 'Logging in'); 56 | amqp_channel_open(conn, 1); 57 | die_on_amqp_error(amqp_get_rpc_reply(conn), 'Opening channel'); 58 | 59 | (* 60 | create private reply_to queue 61 | *) 62 | begin 63 | r := amqp_queue_declare(conn, 1, amqp_empty_bytes, 0, 0, 0, 1, amqp_empty_table); 64 | die_on_amqp_error(amqp_get_rpc_reply(conn), 'Declaring queue'); 65 | reply_to_queue := amqp_bytes_malloc_dup(r.queue); 66 | if (reply_to_queue.bytes = nil) then 67 | begin 68 | Write('Out of memory while copying queue name'); 69 | Halt(1); 70 | end; 71 | end; 72 | (* 73 | send the message 74 | *) 75 | 76 | begin 77 | (* 78 | set properties 79 | *) 80 | props._flags := AMQP_BASIC_CONTENT_TYPE_FLAG or AMQP_BASIC_DELIVERY_MODE_FLAG or AMQP_BASIC_REPLY_TO_FLAG or AMQP_BASIC_CORRELATION_ID_FLAG; 81 | props.content_type := amqp_cstring_bytes('text/plain'); 82 | props.delivery_mode := 2; (* persistent delivery mode *) 83 | props.reply_to := amqp_bytes_malloc_dup(reply_to_queue); 84 | if (props.reply_to.bytes = nil) then 85 | begin 86 | Write('Out of memory while copying queue name'); 87 | Halt(1); 88 | end; 89 | props.correlation_id := amqp_cstring_bytes('1'); 90 | 91 | (* 92 | publish 93 | *) 94 | die_on_error(amqp_basic_publish(conn, 1, amqp_cstring_bytes(PAnsiChar(exchange)), amqp_cstring_bytes(PAnsiChar(routingkey)), 0, 0, @props, amqp_cstring_bytes(PAnsiChar(messagebody))), 95 | 'Publishing'); 96 | 97 | amqp_bytes_free(props.reply_to); 98 | end; 99 | 100 | (* 101 | wait an answer 102 | *) 103 | 104 | begin 105 | amqp_basic_consume(conn, 1, reply_to_queue, amqp_empty_bytes, 0, 1, 0, amqp_empty_table); 106 | die_on_amqp_error(amqp_get_rpc_reply(conn), 'Consuming'); 107 | amqp_bytes_free(reply_to_queue); 108 | 109 | begin 110 | 111 | while (True) do 112 | begin 113 | amqp_maybe_release_buffers(conn); 114 | result := amqp_simple_wait_frame(conn, &frame); 115 | WriteLn(Format('Result: %d', [result])); 116 | if (result < 0) then 117 | Break; 118 | 119 | WriteLn(Format('Frame type: %u channel: %u', [frame.frame_type, frame.channel])); 120 | if (frame.frame_type <> AMQP_FRAME_METHOD) then 121 | Continue; 122 | 123 | WriteLn(Format('Method: %s', [amqp_method_name(frame.payload.method.id)])); 124 | if (frame.payload.method.id <> AMQP_BASIC_DELIVER_METHOD) then 125 | Continue; 126 | 127 | d := frame.payload.method.decoded; 128 | WriteLn(Format('Delivery: %u exchange: %.*s routingkey: %.*s', [d.delivery_tag, d.exchange.len, PAnsiChar(d.exchange.bytes), d.routing_key.len, PAnsiChar(d.routing_key.bytes)])); 129 | 130 | result := amqp_simple_wait_frame(conn, frame); 131 | if (result < 0) then 132 | Break; 133 | 134 | if (frame.frame_type <> AMQP_FRAME_HEADER) then 135 | begin 136 | Write('Expected header!'); 137 | Halt; 138 | end; 139 | p := frame.payload.properties.decoded; 140 | if (p._flags and AMQP_BASIC_CONTENT_TYPE_FLAG <> 0) then 141 | WriteLn(Format('Content-type: %.*s', [p.content_type.len, PAnsiChar(p.content_type.bytes)])); 142 | 143 | WriteLn('----'); 144 | 145 | body_target := frame.payload.properties.body_size; 146 | body_received := 0; 147 | 148 | while (body_received < body_target) do 149 | begin 150 | result := amqp_simple_wait_frame(conn, &frame); 151 | if (result < 0) then 152 | Break; 153 | 154 | if (frame.frame_type <> AMQP_FRAME_BODY) then 155 | begin 156 | Write('Expected body!'); 157 | Halt; 158 | end; 159 | 160 | Inc(body_received, frame.payload.body_fragment.len); 161 | assert(body_received <= body_target); 162 | 163 | amqp_dump(frame.payload.body_fragment.bytes, frame.payload.body_fragment.len); 164 | end; 165 | 166 | if (body_received <> body_target) then 167 | (* Can only happen when amqp_simple_wait_frame returns <= 0 *) 168 | (* We break here to close the connection *) 169 | Break; 170 | 171 | (* everything was fine, we can quit now because we received the reply *) 172 | Break; 173 | end; 174 | end; 175 | end; 176 | 177 | (* 178 | closing 179 | *) 180 | 181 | die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), 'Closing channel'); 182 | die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), 'Closing connection'); 183 | die_on_error(amqp_destroy_connection(conn), 'Ending connection'); 184 | 185 | Halt(0); 186 | end; 187 | 188 | begin 189 | main; 190 | 191 | end. 192 | -------------------------------------------------------------------------------- /Samples/amqp_consumer/amqp_consumer.dpr: -------------------------------------------------------------------------------- 1 | program amqp_consumer; 2 | 3 | {$APPTYPE CONSOLE} 4 | 5 | uses 6 | System.SysUtils, 7 | uRabbitMQ, 8 | uRabbitMQ.Utils in '..\uRabbitMQ.Utils.pas'; 9 | 10 | const 11 | SUMMARY_EVERY_US = 1000000; 12 | 13 | procedure run(conn: amqp_connection_state_t); 14 | var 15 | start_time: UInt64; 16 | received: Integer; 17 | previous_received: Integer; 18 | previous_report_time: UInt64; 19 | next_summary_time: UInt64; 20 | 21 | frame: amqp_frame_t; 22 | 23 | now: UInt64; 24 | 25 | ret: amqp_rpc_reply_t; 26 | envelope: amqp_envelope_t; 27 | countOverInterval: Integer; 28 | intervalRate: Double; 29 | 30 | &message: amqp_message_t; 31 | begin 32 | start_time := now_microseconds(); 33 | received := 0; 34 | previous_received := 0; 35 | previous_report_time := start_time; 36 | next_summary_time := start_time + SUMMARY_EVERY_US; 37 | 38 | while (True) do 39 | begin 40 | now := now_microseconds(); 41 | if (now > next_summary_time) then 42 | begin 43 | countOverInterval := received - previous_received; 44 | intervalRate := countOverInterval / ((now - previous_report_time) / 1000000.0); 45 | WriteLn(Format('%d ms: Received %d - %d since last report (%d Hz)\n', [Trunc((now - start_time) / 1000), received, countOverInterval, Trunc(intervalRate)])); 46 | 47 | previous_received := received; 48 | previous_report_time := now; 49 | next_summary_time := next_summary_time + SUMMARY_EVERY_US; 50 | end; 51 | 52 | amqp_maybe_release_buffers(conn); 53 | ret := amqp_consume_message(conn, @envelope, nil, 0); 54 | 55 | if (AMQP_RESPONSE_NORMAL <> ret.reply_type) then 56 | begin 57 | if ((AMQP_RESPONSE_LIBRARY_EXCEPTION = ret.reply_type) and (AMQP_STATUS_UNEXPECTED_STATE = amqp_status_enum(ret.library_error))) then 58 | begin 59 | if (AMQP_STATUS_OK <> amqp_status_enum(amqp_simple_wait_frame(conn, @frame))) then 60 | Exit; 61 | 62 | if (AMQP_FRAME_METHOD = frame.frame_type) then 63 | begin 64 | case (frame.payload.method.id) of 65 | AMQP_BASIC_ACK_METHOD: 66 | // if we've turned publisher confirms on, and we've published a message 67 | // here is a message being confirmed 68 | ; 69 | AMQP_BASIC_RETURN_METHOD: 70 | // if a published message couldn't be routed and the mandatory flag was set 71 | // this is what would be returned. The message then needs to be read. 72 | // 73 | begin 74 | ret := amqp_read_message(conn, frame.channel, @&message, 0); 75 | if (AMQP_RESPONSE_NORMAL <> ret.reply_type) then 76 | Exit; 77 | 78 | amqp_destroy_message(@&message); 79 | end; 80 | 81 | AMQP_CHANNEL_CLOSE_METHOD: 82 | // a channel.close method happens when a channel exception occurs, this 83 | // can happen by publishing to an exchange that doesn't exist for example 84 | // 85 | // In this case you would need to open another channel redeclare any queues 86 | // that were declared auto-delete, and restart any consumers that were attached 87 | // to the previous channel 88 | Exit; 89 | 90 | AMQP_CONNECTION_CLOSE_METHOD: 91 | // a connection.close method happens when a connection exception occurs, 92 | // this can happen by trying to use a channel that isn't open for example. 93 | // 94 | // In this case the whole connection must be restarted. 95 | Exit; 96 | 97 | else 98 | begin 99 | WriteLn(Format('An unexpected method was received %u', [frame.payload.method.id])); 100 | Exit; 101 | end; 102 | end; 103 | end; 104 | end; 105 | 106 | end 107 | else 108 | amqp_destroy_envelope(@envelope); 109 | 110 | Inc(received); 111 | end; 112 | end; 113 | 114 | procedure main; 115 | var 116 | hostname: AnsiString; 117 | port, status: Integer; 118 | exchange: AnsiString; 119 | bindingkey: AnsiString; 120 | queue: AnsiString; 121 | socket: pamqp_socket_t; 122 | conn: amqp_connection_state_t; 123 | 124 | queuename: amqp_bytes_t; 125 | 126 | r: pamqp_queue_declare_ok_t; 127 | begin 128 | if (ParamCount < 3) then 129 | begin 130 | WriteLn('Usage: amqp_consumer host port'); 131 | Halt(1); 132 | end; 133 | 134 | hostname := ParamStr(1); 135 | port := StrToInt(ParamStr(2)); 136 | exchange := 'amq.direct'; // ParamStr(3); 137 | bindingkey := 'test queue'; // ParamStr(4); 138 | 139 | conn := amqp_new_connection(); 140 | 141 | socket := amqp_tcp_socket_new(conn); 142 | if not Assigned(socket) then 143 | die('creating TCP socket', []); 144 | 145 | status := amqp_socket_open(socket, PAnsiChar(hostname), port); 146 | 147 | if status <> 0 then 148 | die('opening TCP socket', []); 149 | 150 | die_on_amqp_error(amqp_login(conn, '/', 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, 'guest', 'guest'), 'Logging in'); 151 | amqp_channel_open(conn, 1); 152 | die_on_amqp_error(amqp_get_rpc_reply(conn), 'Opening channel'); 153 | 154 | r := amqp_queue_declare(conn, 1, amqp_empty_bytes, 0, 0, 0, 1, amqp_empty_table); 155 | die_on_amqp_error(amqp_get_rpc_reply(conn), 'Declaring queue'); 156 | queuename := amqp_bytes_malloc_dup(r.queue); 157 | if (queuename.bytes = nil) then 158 | begin 159 | WriteLn('Out of memory while copying queue name'); 160 | Halt(1); 161 | end; 162 | 163 | amqp_queue_bind(conn, 1, queuename, amqp_cstring_bytes(PAnsiChar(exchange)), amqp_cstring_bytes(PAnsiChar(bindingkey)), amqp_empty_table); 164 | die_on_amqp_error(amqp_get_rpc_reply(conn), 'Binding queue'); 165 | 166 | amqp_basic_consume(conn, 1, queuename, amqp_empty_bytes, 0, 1, 0, amqp_empty_table); 167 | die_on_amqp_error(amqp_get_rpc_reply(conn), 'Consuming'); 168 | 169 | run(conn); 170 | 171 | die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), 'Closing channel'); 172 | die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), 'Closing connection'); 173 | die_on_error(amqp_destroy_connection(conn), 'Ending connection'); 174 | 175 | Halt(0); 176 | end; 177 | 178 | end. 179 | -------------------------------------------------------------------------------- /Samples/Samples.groupproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | {7A66C55E-52DC-4650-A913-C7C561984CE0} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | Default.Personality.12 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "{}" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright {yyyy} {name of copyright owner} 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /Samples/amqp_listen/amqp_listen.dproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | {1D092E3D-AEAC-4103-A011-0082C1B0A206} 4 | 18.1 5 | None 6 | amqp_listen.dpr 7 | True 8 | Debug 9 | Win32 10 | 1 11 | Console 12 | 13 | 14 | true 15 | 16 | 17 | true 18 | Base 19 | true 20 | 21 | 22 | true 23 | Base 24 | true 25 | 26 | 27 | true 28 | Base 29 | true 30 | 31 | 32 | true 33 | Base 34 | true 35 | 36 | 37 | true 38 | Base 39 | true 40 | 41 | 42 | true 43 | Base 44 | true 45 | 46 | 47 | true 48 | Base 49 | true 50 | 51 | 52 | true 53 | Base 54 | true 55 | 56 | 57 | true 58 | Cfg_1 59 | true 60 | true 61 | 62 | 63 | true 64 | Base 65 | true 66 | 67 | 68 | System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) 69 | amqp_listen 70 | .\$(Platform)\$(Config) 71 | .\$(Platform)\$(Config) 72 | false 73 | false 74 | false 75 | false 76 | false 77 | 78 | 79 | $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png 80 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png 81 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png 82 | $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png 83 | $(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png 84 | android-support-v4.dex.jar;cloud-messaging.dex.jar;fmx.dex.jar;google-analytics-v2.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar;google-play-services.dex.jar 85 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png 86 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png 87 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png 88 | DBXSqliteDriver;tethering;FireDACDBXDriver;RESTBackendComponents;bindengine;CloudService;DataSnapClient;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;rtl;DbxClientDriver;IndyIPClient;DataSnapProviderClient;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;bindcompfmx;FireDACIBDriver;fmx;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;fmxinfopower;soapserver;FireDACCommonDriver;inet;IndyIPCommon;FireDAC;FireDACSqliteDriver;ibmonitor;ibxpress;ibxbindings;FireDACDSDriver;CustomIPTransport;bindcomp;dbxcds;dsnapxml;dbrtl;IndyProtocols;$(DCC_UsePackage) 89 | $(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png 90 | 91 | 92 | DBXSqliteDriver;tethering;FireDACDBXDriver;RESTBackendComponents;bindengine;CloudService;DataSnapClient;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;rtl;DbxClientDriver;IndyIPClient;DataSnapProviderClient;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;bindcompfmx;FireDACIBDriver;fmx;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;fmxinfopower;soapserver;FireDACCommonDriver;inet;IndyIPCommon;FireDAC;FireDACSqliteDriver;ibmonitor;ibxpress;ibxbindings;FireDACDSDriver;CustomIPTransport;bindcomp;dbxcds;dsnapxml;dbrtl;IndyProtocols;fmxase;$(DCC_UsePackage) 93 | 94 | 95 | DBXSqliteDriver;rtcSDK_D24;tethering;FireDACDBXDriver;RESTBackendComponents;bindengine;CloudService;DataSnapClient;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;rtl;DbxClientDriver;IndyIPClient;DataSnapProviderClient;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;bindcompfmx;FireDACIBDriver;fmx;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;fmxinfopower;soapserver;FireDACCommonDriver;inet;IndyIPCommon;FireDAC;FireDACSqliteDriver;ibmonitor;ibxpress;ibxbindings;FireDACDSDriver;CustomIPTransport;bindcomp;dbxcds;dsnapxml;dbrtl;IndyProtocols;fmxase;$(DCC_UsePackage) 96 | 97 | 98 | DBXSqliteDriver;tethering;FireDACDBXDriver;RESTBackendComponents;bindengine;CloudService;DataSnapClient;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;rtl;DbxClientDriver;IndyIPClient;DataSnapProviderClient;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;bindcompfmx;FireDACIBDriver;fmx;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;fmxinfopower;soapserver;FireDACCommonDriver;inet;IndyIPCommon;FireDAC;FireDACSqliteDriver;ibmonitor;ibxpress;ibxbindings;FireDACDSDriver;CustomIPTransport;bindcomp;dbxcds;dsnapxml;dbrtl;IndyProtocols;fmxase;$(DCC_UsePackage) 99 | 100 | 101 | true 102 | DBXSqliteDriver;tethering;FireDACMSSQLDriver;FireDACDBXDriver;RESTBackendComponents;bindengine;CloudService;FireDACMySQLDriver;DataSnapClient;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;emshosting;FireDACTDataDriver;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;rtl;DbxClientDriver;DBXSybaseASADriver;IndyIPClient;FireDACODBCDriver;DataSnapIndy10ServerTransport;DataSnapProviderClient;FireDACMongoDBDriver;DataSnapServerMidas;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;bindcompfmx;DBXOracleDriver;inetdb;emsedge;FireDACIBDriver;fmx;fmxdae;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;fmxinfopower;soapserver;FireDACOracleDriver;DBXMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;inet;IndyIPCommon;FireDAC;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;ibxpress;DataSnapServer;ibxbindings;FireDACDSDriver;CustomIPTransport;bindcomp;DBXInformixDriver;dbxcds;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;fmxase;$(DCC_UsePackage) 103 | 104 | 105 | true 106 | Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) 107 | DBXSqliteDriver;dxSkinBlueprintRS24;DBXDb2Driver;dxPSdxGaugeControlLnkRS24;rtcSDK_D24;vclactnband;dxSpreadSheetRS24;vclFireDAC;dxDockingRS24;tethering;dxSkinVisualStudio2013BlueRS24;dxPScxTLLnkRS24;dxBarExtItemsRS24;FireDACADSDriver;dxFireDACServerModeRS24;dxSkinOffice2007BlackRS24;QImport3RT_D24;FireDACMSSQLDriver;vcltouch;vcldb;Intraweb;svn;dxSkinXmas2008BlueRS24;dxSkinscxSchedulerPainterRS24;dxSkinsdxBarPainterRS24;dxSkinOffice2010BlackRS24;dxADOServerModeRS24;dxGDIPlusRS24;dxPSdxDBTVLnkRS24;frx24;vclib;dxSkinLilianRS24;FireDACDBXDriver;tmsexdXE10;dxNavBarRS24;vclx;cxTreeListRS24;TeeUI924;dxSkinDevExpressDarkStyleRS24;dxtrmdRS24;RESTBackendComponents;dxRibbonRS24;VCLRESTComponents;cxExportRS24;TeeTree2D24Tee9;cxPivotGridChartRS24;cxTreeListdxBarPopupMenuRS24;FMXTeeImport924;dxSkinOffice2013LightGrayRS24;dxTabbedMDIRS24;vclie;dxSkinVisualStudio2013LightRS24;bindengine;CloudService;TeeImport924;FireDACMySQLDriver;cxPivotGridOLAPRS24;dxSkinSharpRS24;dxSkinBlackRS24;DataSnapClient;dxPSLnksRS24;bindcompdbx;dxSkinCoffeeRS24;DBXSybaseASEDriver;IndyIPServer;dxSkinsdxRibbonPainterRS24;dxCoreRS24;IndySystem;TeeLanguage924;tmsxlsdXE10;dxSkinOffice2013DarkGrayRS24;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;emshosting;dxBarDBNavRS24;dxSkinDarkSideRS24;TeeGL924;dxSkinOffice2013WhiteRS24;DBXOdbcDriver;FireDACTDataDriver;dxPSdxLCLnkRS24;dxPScxExtCommonRS24;dxPScxPivotGridLnkRS24;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;dxSkinMcSkinRS24;rtl;dxLayoutControlRS24;DbxClientDriver;cxGridRS24;DBXSybaseASADriver;dxSkinBlueRS24;dxSpellCheckerRS24;CodeSiteExpressPkg;cxLibraryRS24;dxSkinStardustRS24;dxSkinCaramelRS24;appanalytics;dxSkinsCoreRS24;dxDBXServerModeRS24;dxMapControlRS24;IndyIPClient;dxSkinHighContrastRS24;bindcompvcl;dxSkinTheAsphaltWorldRS24;frxe24;cxPageControlRS24;dxPsPrVwAdvRS24;cxEditorsRS24;dxSkinSevenClassicRS24;TeeImage924;VclSmp;cxSchedulerRibbonStyleEventEditorRS24;FireDACODBCDriver;dxSkinPumpkinRS24;DataSnapIndy10ServerTransport;FMXTeePro924;dxSkinscxPCPainterRS24;dxPSPrVwRibbonRS24;DataSnapProviderClient;FireDACMongoDBDriver;TeePro924;dxSkinSevenRS24;dxdborRS24;dxHttpIndyRequestRS24;DataSnapServerMidas;RESTComponents;dxmdsRS24;cxSchedulerGridRS24;cxPivotGridRS24;DBXInterBaseDriver;clinetsuitedX101;emsclientfiredac;DataSnapFireDAC;svnui;TeeDB924;dxdbtrRS24;dxSkinMetropolisRS24;dxSkinMoneyTwinsRS24;dxPScxPCProdRS24;DBXMSSQLDriver;DatasnapConnectorsFreePascal;dxWizardControlRS24;FMXTee924;bindcompfmx;dxPSdxOCLnkRS24;dxBarExtDBItemsRS24;DBXOracleDriver;dxPSdxFCLnkRS24;inetdb;cxSchedulerTreeBrowserRS24;dxSkinOffice2016ColorfulRS24;emsedge;FireDACIBDriver;fmx;fmxdae;dxSkinSpringTimeRS24;dxSkinValentineRS24;dxSkinLondonLiquidSkyRS24;dxSkinWhiteprintRS24;Tee924;dbexpress;IndyCore;dxSkiniMaginaryRS24;dxTileControlRS24;dxSkinOffice2016DarkRS24;dsnap;DataSnapCommon;emsclient;cxDataRS24;FireDACCommon;dxSkinOffice2007PinkRS24;dxPSdxSpreadSheetLnkRS24;fmxinfopower;DataSnapConnectors;dxSkinDevExpressStyleRS24;soapserver;dxBarRS24;dxSkinMetropolisDarkRS24;FireDACOracleDriver;DBXMySQLDriver;dxPSRichEditControlLnkRS24;DBXFirebirdDriver;dxPScxCommonRS24;FireDACCommonODBC;FireDACCommonDriver;FMXTeeLanguage924;inet;IndyIPCommon;dxSkinVS2010RS24;vcl;dxSkinSharpPlusRS24;dxPSdxDBOCLnkRS24;FireDACDb2Driver;dxThemeRS24;dxSkinOffice2007GreenRS24;dxPScxGridLnkRS24;FireDAC;dxPScxVGridLnkRS24;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;dxSkinOffice2010BlueRS24;dxServerModeRS24;TeeWorld924;ibxpress;DataSnapServer;ibxbindings;FMXTree24;vclwinx;FireDACDSDriver;cxSchedulerRS24;dxPSCoreRS24;dxSkinsdxDLPainterRS24;dxSkinOffice2007BlueRS24;CustomIPTransport;vcldsnap;dxSkinGlassOceansRS24;TMSFMXPackPkgDXE10;dxRibbonCustomizationFormRS24;dxPScxSchedulerLnkRS24;dxSkinSummer2008RS24;FMXTeeDB924;bindcomp;FmxTeeUI924;dxSkinDarkRoomRS24;DBXInformixDriver;tmswizdXE10;dxorgcRS24;dxSkinFoggyRS24;dxSkinOffice2010SilverRS24;dxRichEditControlRS24;dxSkinsdxNavBarPainterRS24;dbxcds;adortl;dxSkinSilverRS24;dxSkinVisualStudio2013DarkRS24;dxComnRS24;cxVerticalGridRS24;dxFlowChartRS24;frxDB24;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;QExport4RT_D24;dxGaugeControlRS24;dxSkinLiquidSkyRS24;dxSkinOffice2007SilverRS24;tmsdXE10;fmxase;$(DCC_UsePackage) 108 | 1033 109 | CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= 110 | 111 | 112 | true 113 | DBXSqliteDriver;dxSkinBlueprintRS24;DBXDb2Driver;dxPSdxGaugeControlLnkRS24;rtcSDK_D24;vclactnband;dxSpreadSheetRS24;vclFireDAC;dxDockingRS24;tethering;dxSkinVisualStudio2013BlueRS24;dxPScxTLLnkRS24;dxBarExtItemsRS24;FireDACADSDriver;dxFireDACServerModeRS24;dxSkinOffice2007BlackRS24;FireDACMSSQLDriver;vcltouch;vcldb;Intraweb;dxSkinXmas2008BlueRS24;dxSkinscxSchedulerPainterRS24;dxSkinsdxBarPainterRS24;dxSkinOffice2010BlackRS24;dxADOServerModeRS24;dxGDIPlusRS24;dxPSdxDBTVLnkRS24;vclib;dxSkinLilianRS24;FireDACDBXDriver;dxNavBarRS24;vclx;cxTreeListRS24;dxSkinDevExpressDarkStyleRS24;dxtrmdRS24;RESTBackendComponents;dxRibbonRS24;VCLRESTComponents;cxExportRS24;cxPivotGridChartRS24;cxTreeListdxBarPopupMenuRS24;dxSkinOffice2013LightGrayRS24;dxTabbedMDIRS24;vclie;dxSkinVisualStudio2013LightRS24;bindengine;CloudService;FireDACMySQLDriver;cxPivotGridOLAPRS24;dxSkinSharpRS24;dxSkinBlackRS24;DataSnapClient;dxPSLnksRS24;bindcompdbx;dxSkinCoffeeRS24;DBXSybaseASEDriver;IndyIPServer;dxSkinsdxRibbonPainterRS24;dxCoreRS24;IndySystem;dxSkinOffice2013DarkGrayRS24;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;emshosting;dxBarDBNavRS24;dxSkinDarkSideRS24;dxSkinOffice2013WhiteRS24;DBXOdbcDriver;FireDACTDataDriver;dxPSdxLCLnkRS24;dxPScxExtCommonRS24;dxPScxPivotGridLnkRS24;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;dxSkinMcSkinRS24;rtl;dxLayoutControlRS24;DbxClientDriver;cxGridRS24;DBXSybaseASADriver;dxSkinBlueRS24;dxSpellCheckerRS24;cxLibraryRS24;dxSkinStardustRS24;dxSkinCaramelRS24;appanalytics;dxSkinsCoreRS24;dxDBXServerModeRS24;dxMapControlRS24;IndyIPClient;dxSkinHighContrastRS24;bindcompvcl;dxSkinTheAsphaltWorldRS24;cxPageControlRS24;dxPsPrVwAdvRS24;cxEditorsRS24;dxSkinSevenClassicRS24;VclSmp;cxSchedulerRibbonStyleEventEditorRS24;FireDACODBCDriver;dxSkinPumpkinRS24;DataSnapIndy10ServerTransport;dxSkinscxPCPainterRS24;dxPSPrVwRibbonRS24;DataSnapProviderClient;FireDACMongoDBDriver;dxSkinSevenRS24;dxdborRS24;dxHttpIndyRequestRS24;DataSnapServerMidas;RESTComponents;dxmdsRS24;cxSchedulerGridRS24;cxPivotGridRS24;DBXInterBaseDriver;clinetsuitedX101;emsclientfiredac;DataSnapFireDAC;dxdbtrRS24;dxSkinMetropolisRS24;dxSkinMoneyTwinsRS24;dxPScxPCProdRS24;DBXMSSQLDriver;DatasnapConnectorsFreePascal;dxWizardControlRS24;bindcompfmx;dxPSdxOCLnkRS24;dxBarExtDBItemsRS24;DBXOracleDriver;dxPSdxFCLnkRS24;inetdb;cxSchedulerTreeBrowserRS24;dxSkinOffice2016ColorfulRS24;emsedge;FireDACIBDriver;fmx;fmxdae;dxSkinSpringTimeRS24;dxSkinValentineRS24;dxSkinLondonLiquidSkyRS24;dxSkinWhiteprintRS24;dbexpress;IndyCore;dxSkiniMaginaryRS24;dxTileControlRS24;dxSkinOffice2016DarkRS24;dsnap;DataSnapCommon;emsclient;cxDataRS24;FireDACCommon;dxSkinOffice2007PinkRS24;dxPSdxSpreadSheetLnkRS24;fmxinfopower;DataSnapConnectors;dxSkinDevExpressStyleRS24;soapserver;dxBarRS24;dxSkinMetropolisDarkRS24;FireDACOracleDriver;DBXMySQLDriver;dxPSRichEditControlLnkRS24;DBXFirebirdDriver;dxPScxCommonRS24;FireDACCommonODBC;FireDACCommonDriver;inet;IndyIPCommon;dxSkinVS2010RS24;vcl;dxSkinSharpPlusRS24;dxPSdxDBOCLnkRS24;FireDACDb2Driver;dxThemeRS24;dxSkinOffice2007GreenRS24;dxPScxGridLnkRS24;FireDAC;dxPScxVGridLnkRS24;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;dxSkinOffice2010BlueRS24;dxServerModeRS24;ibxpress;DataSnapServer;ibxbindings;vclwinx;FireDACDSDriver;cxSchedulerRS24;dxPSCoreRS24;dxSkinsdxDLPainterRS24;dxSkinOffice2007BlueRS24;CustomIPTransport;vcldsnap;dxSkinGlassOceansRS24;dxRibbonCustomizationFormRS24;dxPScxSchedulerLnkRS24;dxSkinSummer2008RS24;bindcomp;dxSkinDarkRoomRS24;DBXInformixDriver;dxorgcRS24;dxSkinFoggyRS24;dxSkinOffice2010SilverRS24;dxRichEditControlRS24;dxSkinsdxNavBarPainterRS24;dbxcds;adortl;dxSkinSilverRS24;dxSkinVisualStudio2013DarkRS24;dxComnRS24;cxVerticalGridRS24;dxFlowChartRS24;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;dxGaugeControlRS24;dxSkinLiquidSkyRS24;dxSkinOffice2007SilverRS24;fmxase;$(DCC_UsePackage) 114 | 115 | 116 | DEBUG;$(DCC_Define) 117 | true 118 | false 119 | true 120 | true 121 | true 122 | 123 | 124 | false 125 | 126 | 127 | false 128 | RELEASE;$(DCC_Define) 129 | 0 130 | 0 131 | 132 | 133 | 134 | MainSource 135 | 136 | 137 | 138 | Cfg_2 139 | Base 140 | 141 | 142 | Base 143 | 144 | 145 | Cfg_1 146 | Base 147 | 148 | 149 | 150 | Delphi.Personality.12 151 | Application 152 | 153 | 154 | 155 | amqp_listen.dpr 156 | 157 | 158 | 159 | 160 | 161 | true 162 | 163 | 164 | 165 | 166 | true 167 | 168 | 169 | 170 | 171 | true 172 | 173 | 174 | 175 | 176 | true 177 | 178 | 179 | 180 | 181 | amqp_listen.exe 182 | true 183 | 184 | 185 | 186 | 187 | 0 188 | .dll;.bpl 189 | 190 | 191 | 1 192 | .dylib 193 | 194 | 195 | Contents\MacOS 196 | 1 197 | .dylib 198 | 199 | 200 | 1 201 | .dylib 202 | 203 | 204 | 1 205 | .dylib 206 | 207 | 208 | 209 | 210 | Contents\Resources 211 | 1 212 | 213 | 214 | 215 | 216 | classes 217 | 1 218 | 219 | 220 | 221 | 222 | Contents\MacOS 223 | 0 224 | 225 | 226 | 1 227 | 228 | 229 | Contents\MacOS 230 | 1 231 | 232 | 233 | 234 | 235 | 1 236 | 237 | 238 | 1 239 | 240 | 241 | 1 242 | 243 | 244 | 245 | 246 | res\drawable-xxhdpi 247 | 1 248 | 249 | 250 | 251 | 252 | library\lib\mips 253 | 1 254 | 255 | 256 | 257 | 258 | 1 259 | 260 | 261 | 1 262 | 263 | 264 | 0 265 | 266 | 267 | 1 268 | 269 | 270 | Contents\MacOS 271 | 1 272 | 273 | 274 | library\lib\armeabi-v7a 275 | 1 276 | 277 | 278 | 1 279 | 280 | 281 | 282 | 283 | 0 284 | 285 | 286 | Contents\MacOS 287 | 1 288 | .framework 289 | 290 | 291 | 292 | 293 | 1 294 | 295 | 296 | 1 297 | 298 | 299 | 1 300 | 301 | 302 | 303 | 304 | 1 305 | 306 | 307 | 1 308 | 309 | 310 | 1 311 | 312 | 313 | 314 | 315 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 316 | 1 317 | 318 | 319 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 320 | 1 321 | 322 | 323 | 324 | 325 | 1 326 | 327 | 328 | 1 329 | 330 | 331 | 1 332 | 333 | 334 | 335 | 336 | 1 337 | 338 | 339 | 1 340 | 341 | 342 | 1 343 | 344 | 345 | 346 | 347 | library\lib\armeabi 348 | 1 349 | 350 | 351 | 352 | 353 | 0 354 | 355 | 356 | 1 357 | 358 | 359 | Contents\MacOS 360 | 1 361 | 362 | 363 | 364 | 365 | 1 366 | 367 | 368 | 1 369 | 370 | 371 | 1 372 | 373 | 374 | 375 | 376 | res\drawable-normal 377 | 1 378 | 379 | 380 | 381 | 382 | res\drawable-xhdpi 383 | 1 384 | 385 | 386 | 387 | 388 | res\drawable-large 389 | 1 390 | 391 | 392 | 393 | 394 | 1 395 | 396 | 397 | 1 398 | 399 | 400 | 1 401 | 402 | 403 | 404 | 405 | ..\ 406 | 1 407 | 408 | 409 | ..\ 410 | 1 411 | 412 | 413 | 414 | 415 | res\drawable-hdpi 416 | 1 417 | 418 | 419 | 420 | 421 | library\lib\armeabi-v7a 422 | 1 423 | 424 | 425 | 426 | 427 | Contents 428 | 1 429 | 430 | 431 | 432 | 433 | ..\ 434 | 1 435 | 436 | 437 | 438 | 439 | 1 440 | 441 | 442 | 1 443 | 444 | 445 | 1 446 | 447 | 448 | 449 | 450 | res\values 451 | 1 452 | 453 | 454 | 455 | 456 | res\drawable-small 457 | 1 458 | 459 | 460 | 461 | 462 | res\drawable 463 | 1 464 | 465 | 466 | 467 | 468 | 1 469 | 470 | 471 | 1 472 | 473 | 474 | 1 475 | 476 | 477 | 478 | 479 | 1 480 | 481 | 482 | 483 | 484 | res\drawable 485 | 1 486 | 487 | 488 | 489 | 490 | 0 491 | 492 | 493 | 0 494 | 495 | 496 | Contents\Resources\StartUp\ 497 | 0 498 | 499 | 500 | 0 501 | 502 | 503 | 0 504 | 505 | 506 | 0 507 | 508 | 509 | 510 | 511 | library\lib\armeabi-v7a 512 | 1 513 | 514 | 515 | 516 | 517 | 0 518 | .bpl 519 | 520 | 521 | 1 522 | .dylib 523 | 524 | 525 | Contents\MacOS 526 | 1 527 | .dylib 528 | 529 | 530 | 1 531 | .dylib 532 | 533 | 534 | 1 535 | .dylib 536 | 537 | 538 | 539 | 540 | res\drawable-mdpi 541 | 1 542 | 543 | 544 | 545 | 546 | res\drawable-xlarge 547 | 1 548 | 549 | 550 | 551 | 552 | res\drawable-ldpi 553 | 1 554 | 555 | 556 | 557 | 558 | 1 559 | 560 | 561 | 1 562 | 563 | 564 | 565 | 566 | 567 | 568 | 569 | 570 | 571 | 572 | 573 | 574 | False 575 | False 576 | False 577 | False 578 | False 579 | True 580 | False 581 | 582 | 583 | 12 584 | 585 | 586 | 587 | 588 | 589 | -------------------------------------------------------------------------------- /Samples/amqp_listenq/amqp_listenq.dproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | {EFF471F5-AD3D-4A33-AF3C-CA0781185CB3} 4 | 18.1 5 | None 6 | amqp_listenq.dpr 7 | True 8 | Debug 9 | Win32 10 | 1 11 | Console 12 | 13 | 14 | true 15 | 16 | 17 | true 18 | Base 19 | true 20 | 21 | 22 | true 23 | Base 24 | true 25 | 26 | 27 | true 28 | Base 29 | true 30 | 31 | 32 | true 33 | Base 34 | true 35 | 36 | 37 | true 38 | Base 39 | true 40 | 41 | 42 | true 43 | Base 44 | true 45 | 46 | 47 | true 48 | Base 49 | true 50 | 51 | 52 | true 53 | Base 54 | true 55 | 56 | 57 | true 58 | Cfg_1 59 | true 60 | true 61 | 62 | 63 | true 64 | Base 65 | true 66 | 67 | 68 | System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) 69 | amqp_listenq 70 | .\$(Platform)\$(Config) 71 | .\$(Platform)\$(Config) 72 | false 73 | false 74 | false 75 | false 76 | false 77 | 78 | 79 | $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png 80 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png 81 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png 82 | $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png 83 | $(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png 84 | android-support-v4.dex.jar;cloud-messaging.dex.jar;fmx.dex.jar;google-analytics-v2.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar;google-play-services.dex.jar 85 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png 86 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png 87 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png 88 | DBXSqliteDriver;tethering;FireDACDBXDriver;RESTBackendComponents;bindengine;CloudService;DataSnapClient;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;rtl;DbxClientDriver;IndyIPClient;DataSnapProviderClient;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;bindcompfmx;FireDACIBDriver;fmx;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;fmxinfopower;soapserver;FireDACCommonDriver;inet;IndyIPCommon;FireDAC;FireDACSqliteDriver;ibmonitor;ibxpress;ibxbindings;FireDACDSDriver;CustomIPTransport;bindcomp;dbxcds;dsnapxml;dbrtl;IndyProtocols;$(DCC_UsePackage) 89 | $(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png 90 | 91 | 92 | DBXSqliteDriver;tethering;FireDACDBXDriver;RESTBackendComponents;bindengine;CloudService;DataSnapClient;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;rtl;DbxClientDriver;IndyIPClient;DataSnapProviderClient;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;bindcompfmx;FireDACIBDriver;fmx;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;fmxinfopower;soapserver;FireDACCommonDriver;inet;IndyIPCommon;FireDAC;FireDACSqliteDriver;ibmonitor;ibxpress;ibxbindings;FireDACDSDriver;CustomIPTransport;bindcomp;dbxcds;dsnapxml;dbrtl;IndyProtocols;fmxase;$(DCC_UsePackage) 93 | 94 | 95 | DBXSqliteDriver;rtcSDK_D24;tethering;FireDACDBXDriver;RESTBackendComponents;bindengine;CloudService;DataSnapClient;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;rtl;DbxClientDriver;IndyIPClient;DataSnapProviderClient;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;bindcompfmx;FireDACIBDriver;fmx;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;fmxinfopower;soapserver;FireDACCommonDriver;inet;IndyIPCommon;FireDAC;FireDACSqliteDriver;ibmonitor;ibxpress;ibxbindings;FireDACDSDriver;CustomIPTransport;bindcomp;dbxcds;dsnapxml;dbrtl;IndyProtocols;fmxase;$(DCC_UsePackage) 96 | 97 | 98 | DBXSqliteDriver;tethering;FireDACDBXDriver;RESTBackendComponents;bindengine;CloudService;DataSnapClient;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;rtl;DbxClientDriver;IndyIPClient;DataSnapProviderClient;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;bindcompfmx;FireDACIBDriver;fmx;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;fmxinfopower;soapserver;FireDACCommonDriver;inet;IndyIPCommon;FireDAC;FireDACSqliteDriver;ibmonitor;ibxpress;ibxbindings;FireDACDSDriver;CustomIPTransport;bindcomp;dbxcds;dsnapxml;dbrtl;IndyProtocols;fmxase;$(DCC_UsePackage) 99 | 100 | 101 | true 102 | DBXSqliteDriver;tethering;FireDACMSSQLDriver;FireDACDBXDriver;RESTBackendComponents;bindengine;CloudService;FireDACMySQLDriver;DataSnapClient;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;emshosting;FireDACTDataDriver;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;rtl;DbxClientDriver;DBXSybaseASADriver;IndyIPClient;FireDACODBCDriver;DataSnapIndy10ServerTransport;DataSnapProviderClient;FireDACMongoDBDriver;DataSnapServerMidas;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;bindcompfmx;DBXOracleDriver;inetdb;emsedge;FireDACIBDriver;fmx;fmxdae;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;fmxinfopower;soapserver;FireDACOracleDriver;DBXMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;inet;IndyIPCommon;FireDAC;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;ibxpress;DataSnapServer;ibxbindings;FireDACDSDriver;CustomIPTransport;bindcomp;DBXInformixDriver;dbxcds;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;fmxase;$(DCC_UsePackage) 103 | 104 | 105 | true 106 | Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) 107 | DBXSqliteDriver;dxSkinBlueprintRS24;DBXDb2Driver;dxPSdxGaugeControlLnkRS24;rtcSDK_D24;vclactnband;dxSpreadSheetRS24;vclFireDAC;dxDockingRS24;tethering;dxSkinVisualStudio2013BlueRS24;dxPScxTLLnkRS24;dxBarExtItemsRS24;FireDACADSDriver;dxFireDACServerModeRS24;dxSkinOffice2007BlackRS24;QImport3RT_D24;FireDACMSSQLDriver;vcltouch;vcldb;Intraweb;svn;dxSkinXmas2008BlueRS24;dxSkinscxSchedulerPainterRS24;dxSkinsdxBarPainterRS24;dxSkinOffice2010BlackRS24;dxADOServerModeRS24;dxGDIPlusRS24;dxPSdxDBTVLnkRS24;frx24;vclib;dxSkinLilianRS24;FireDACDBXDriver;tmsexdXE10;dxNavBarRS24;vclx;cxTreeListRS24;TeeUI924;dxSkinDevExpressDarkStyleRS24;dxtrmdRS24;RESTBackendComponents;dxRibbonRS24;VCLRESTComponents;cxExportRS24;TeeTree2D24Tee9;cxPivotGridChartRS24;cxTreeListdxBarPopupMenuRS24;FMXTeeImport924;dxSkinOffice2013LightGrayRS24;dxTabbedMDIRS24;vclie;dxSkinVisualStudio2013LightRS24;bindengine;CloudService;TeeImport924;FireDACMySQLDriver;cxPivotGridOLAPRS24;dxSkinSharpRS24;dxSkinBlackRS24;DataSnapClient;dxPSLnksRS24;bindcompdbx;dxSkinCoffeeRS24;DBXSybaseASEDriver;IndyIPServer;dxSkinsdxRibbonPainterRS24;dxCoreRS24;IndySystem;TeeLanguage924;tmsxlsdXE10;dxSkinOffice2013DarkGrayRS24;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;emshosting;dxBarDBNavRS24;dxSkinDarkSideRS24;TeeGL924;dxSkinOffice2013WhiteRS24;DBXOdbcDriver;FireDACTDataDriver;dxPSdxLCLnkRS24;dxPScxExtCommonRS24;dxPScxPivotGridLnkRS24;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;dxSkinMcSkinRS24;rtl;dxLayoutControlRS24;DbxClientDriver;cxGridRS24;DBXSybaseASADriver;dxSkinBlueRS24;dxSpellCheckerRS24;CodeSiteExpressPkg;cxLibraryRS24;dxSkinStardustRS24;dxSkinCaramelRS24;appanalytics;dxSkinsCoreRS24;dxDBXServerModeRS24;dxMapControlRS24;IndyIPClient;dxSkinHighContrastRS24;bindcompvcl;dxSkinTheAsphaltWorldRS24;frxe24;cxPageControlRS24;dxPsPrVwAdvRS24;cxEditorsRS24;dxSkinSevenClassicRS24;TeeImage924;VclSmp;cxSchedulerRibbonStyleEventEditorRS24;FireDACODBCDriver;dxSkinPumpkinRS24;DataSnapIndy10ServerTransport;FMXTeePro924;dxSkinscxPCPainterRS24;dxPSPrVwRibbonRS24;DataSnapProviderClient;FireDACMongoDBDriver;TeePro924;dxSkinSevenRS24;dxdborRS24;dxHttpIndyRequestRS24;DataSnapServerMidas;RESTComponents;dxmdsRS24;cxSchedulerGridRS24;cxPivotGridRS24;DBXInterBaseDriver;clinetsuitedX101;emsclientfiredac;DataSnapFireDAC;svnui;TeeDB924;dxdbtrRS24;dxSkinMetropolisRS24;dxSkinMoneyTwinsRS24;dxPScxPCProdRS24;DBXMSSQLDriver;DatasnapConnectorsFreePascal;dxWizardControlRS24;FMXTee924;bindcompfmx;dxPSdxOCLnkRS24;dxBarExtDBItemsRS24;DBXOracleDriver;dxPSdxFCLnkRS24;inetdb;cxSchedulerTreeBrowserRS24;dxSkinOffice2016ColorfulRS24;emsedge;FireDACIBDriver;fmx;fmxdae;dxSkinSpringTimeRS24;dxSkinValentineRS24;dxSkinLondonLiquidSkyRS24;dxSkinWhiteprintRS24;Tee924;dbexpress;IndyCore;dxSkiniMaginaryRS24;dxTileControlRS24;dxSkinOffice2016DarkRS24;dsnap;DataSnapCommon;emsclient;cxDataRS24;FireDACCommon;dxSkinOffice2007PinkRS24;dxPSdxSpreadSheetLnkRS24;fmxinfopower;DataSnapConnectors;dxSkinDevExpressStyleRS24;soapserver;dxBarRS24;dxSkinMetropolisDarkRS24;FireDACOracleDriver;DBXMySQLDriver;dxPSRichEditControlLnkRS24;DBXFirebirdDriver;dxPScxCommonRS24;FireDACCommonODBC;FireDACCommonDriver;FMXTeeLanguage924;inet;IndyIPCommon;dxSkinVS2010RS24;vcl;dxSkinSharpPlusRS24;dxPSdxDBOCLnkRS24;FireDACDb2Driver;dxThemeRS24;dxSkinOffice2007GreenRS24;dxPScxGridLnkRS24;FireDAC;dxPScxVGridLnkRS24;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;dxSkinOffice2010BlueRS24;dxServerModeRS24;TeeWorld924;ibxpress;DataSnapServer;ibxbindings;FMXTree24;vclwinx;FireDACDSDriver;cxSchedulerRS24;dxPSCoreRS24;dxSkinsdxDLPainterRS24;dxSkinOffice2007BlueRS24;CustomIPTransport;vcldsnap;dxSkinGlassOceansRS24;TMSFMXPackPkgDXE10;dxRibbonCustomizationFormRS24;dxPScxSchedulerLnkRS24;dxSkinSummer2008RS24;FMXTeeDB924;bindcomp;FmxTeeUI924;dxSkinDarkRoomRS24;DBXInformixDriver;tmswizdXE10;dxorgcRS24;dxSkinFoggyRS24;dxSkinOffice2010SilverRS24;dxRichEditControlRS24;dxSkinsdxNavBarPainterRS24;dbxcds;adortl;dxSkinSilverRS24;dxSkinVisualStudio2013DarkRS24;dxComnRS24;cxVerticalGridRS24;dxFlowChartRS24;frxDB24;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;QExport4RT_D24;dxGaugeControlRS24;dxSkinLiquidSkyRS24;dxSkinOffice2007SilverRS24;tmsdXE10;fmxase;$(DCC_UsePackage) 108 | 1033 109 | CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= 110 | 111 | 112 | true 113 | DBXSqliteDriver;dxSkinBlueprintRS24;DBXDb2Driver;dxPSdxGaugeControlLnkRS24;rtcSDK_D24;vclactnband;dxSpreadSheetRS24;vclFireDAC;dxDockingRS24;tethering;dxSkinVisualStudio2013BlueRS24;dxPScxTLLnkRS24;dxBarExtItemsRS24;FireDACADSDriver;dxFireDACServerModeRS24;dxSkinOffice2007BlackRS24;FireDACMSSQLDriver;vcltouch;vcldb;Intraweb;dxSkinXmas2008BlueRS24;dxSkinscxSchedulerPainterRS24;dxSkinsdxBarPainterRS24;dxSkinOffice2010BlackRS24;dxADOServerModeRS24;dxGDIPlusRS24;dxPSdxDBTVLnkRS24;vclib;dxSkinLilianRS24;FireDACDBXDriver;dxNavBarRS24;vclx;cxTreeListRS24;dxSkinDevExpressDarkStyleRS24;dxtrmdRS24;RESTBackendComponents;dxRibbonRS24;VCLRESTComponents;cxExportRS24;cxPivotGridChartRS24;cxTreeListdxBarPopupMenuRS24;dxSkinOffice2013LightGrayRS24;dxTabbedMDIRS24;vclie;dxSkinVisualStudio2013LightRS24;bindengine;CloudService;FireDACMySQLDriver;cxPivotGridOLAPRS24;dxSkinSharpRS24;dxSkinBlackRS24;DataSnapClient;dxPSLnksRS24;bindcompdbx;dxSkinCoffeeRS24;DBXSybaseASEDriver;IndyIPServer;dxSkinsdxRibbonPainterRS24;dxCoreRS24;IndySystem;dxSkinOffice2013DarkGrayRS24;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;emshosting;dxBarDBNavRS24;dxSkinDarkSideRS24;dxSkinOffice2013WhiteRS24;DBXOdbcDriver;FireDACTDataDriver;dxPSdxLCLnkRS24;dxPScxExtCommonRS24;dxPScxPivotGridLnkRS24;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;dxSkinMcSkinRS24;rtl;dxLayoutControlRS24;DbxClientDriver;cxGridRS24;DBXSybaseASADriver;dxSkinBlueRS24;dxSpellCheckerRS24;cxLibraryRS24;dxSkinStardustRS24;dxSkinCaramelRS24;appanalytics;dxSkinsCoreRS24;dxDBXServerModeRS24;dxMapControlRS24;IndyIPClient;dxSkinHighContrastRS24;bindcompvcl;dxSkinTheAsphaltWorldRS24;cxPageControlRS24;dxPsPrVwAdvRS24;cxEditorsRS24;dxSkinSevenClassicRS24;VclSmp;cxSchedulerRibbonStyleEventEditorRS24;FireDACODBCDriver;dxSkinPumpkinRS24;DataSnapIndy10ServerTransport;dxSkinscxPCPainterRS24;dxPSPrVwRibbonRS24;DataSnapProviderClient;FireDACMongoDBDriver;dxSkinSevenRS24;dxdborRS24;dxHttpIndyRequestRS24;DataSnapServerMidas;RESTComponents;dxmdsRS24;cxSchedulerGridRS24;cxPivotGridRS24;DBXInterBaseDriver;clinetsuitedX101;emsclientfiredac;DataSnapFireDAC;dxdbtrRS24;dxSkinMetropolisRS24;dxSkinMoneyTwinsRS24;dxPScxPCProdRS24;DBXMSSQLDriver;DatasnapConnectorsFreePascal;dxWizardControlRS24;bindcompfmx;dxPSdxOCLnkRS24;dxBarExtDBItemsRS24;DBXOracleDriver;dxPSdxFCLnkRS24;inetdb;cxSchedulerTreeBrowserRS24;dxSkinOffice2016ColorfulRS24;emsedge;FireDACIBDriver;fmx;fmxdae;dxSkinSpringTimeRS24;dxSkinValentineRS24;dxSkinLondonLiquidSkyRS24;dxSkinWhiteprintRS24;dbexpress;IndyCore;dxSkiniMaginaryRS24;dxTileControlRS24;dxSkinOffice2016DarkRS24;dsnap;DataSnapCommon;emsclient;cxDataRS24;FireDACCommon;dxSkinOffice2007PinkRS24;dxPSdxSpreadSheetLnkRS24;fmxinfopower;DataSnapConnectors;dxSkinDevExpressStyleRS24;soapserver;dxBarRS24;dxSkinMetropolisDarkRS24;FireDACOracleDriver;DBXMySQLDriver;dxPSRichEditControlLnkRS24;DBXFirebirdDriver;dxPScxCommonRS24;FireDACCommonODBC;FireDACCommonDriver;inet;IndyIPCommon;dxSkinVS2010RS24;vcl;dxSkinSharpPlusRS24;dxPSdxDBOCLnkRS24;FireDACDb2Driver;dxThemeRS24;dxSkinOffice2007GreenRS24;dxPScxGridLnkRS24;FireDAC;dxPScxVGridLnkRS24;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;dxSkinOffice2010BlueRS24;dxServerModeRS24;ibxpress;DataSnapServer;ibxbindings;vclwinx;FireDACDSDriver;cxSchedulerRS24;dxPSCoreRS24;dxSkinsdxDLPainterRS24;dxSkinOffice2007BlueRS24;CustomIPTransport;vcldsnap;dxSkinGlassOceansRS24;dxRibbonCustomizationFormRS24;dxPScxSchedulerLnkRS24;dxSkinSummer2008RS24;bindcomp;dxSkinDarkRoomRS24;DBXInformixDriver;dxorgcRS24;dxSkinFoggyRS24;dxSkinOffice2010SilverRS24;dxRichEditControlRS24;dxSkinsdxNavBarPainterRS24;dbxcds;adortl;dxSkinSilverRS24;dxSkinVisualStudio2013DarkRS24;dxComnRS24;cxVerticalGridRS24;dxFlowChartRS24;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;dxGaugeControlRS24;dxSkinLiquidSkyRS24;dxSkinOffice2007SilverRS24;fmxase;$(DCC_UsePackage) 114 | 115 | 116 | DEBUG;$(DCC_Define) 117 | true 118 | false 119 | true 120 | true 121 | true 122 | 123 | 124 | false 125 | 126 | 127 | false 128 | RELEASE;$(DCC_Define) 129 | 0 130 | 0 131 | 132 | 133 | 134 | MainSource 135 | 136 | 137 | 138 | Cfg_2 139 | Base 140 | 141 | 142 | Base 143 | 144 | 145 | Cfg_1 146 | Base 147 | 148 | 149 | 150 | Delphi.Personality.12 151 | Application 152 | 153 | 154 | 155 | amqp_listenq.dpr 156 | 157 | 158 | 159 | 160 | 161 | true 162 | 163 | 164 | 165 | 166 | true 167 | 168 | 169 | 170 | 171 | true 172 | 173 | 174 | 175 | 176 | true 177 | 178 | 179 | 180 | 181 | amqp_listenq.exe 182 | true 183 | 184 | 185 | 186 | 187 | 0 188 | .dll;.bpl 189 | 190 | 191 | 1 192 | .dylib 193 | 194 | 195 | Contents\MacOS 196 | 1 197 | .dylib 198 | 199 | 200 | 1 201 | .dylib 202 | 203 | 204 | 1 205 | .dylib 206 | 207 | 208 | 209 | 210 | Contents\Resources 211 | 1 212 | 213 | 214 | 215 | 216 | classes 217 | 1 218 | 219 | 220 | 221 | 222 | Contents\MacOS 223 | 0 224 | 225 | 226 | 1 227 | 228 | 229 | Contents\MacOS 230 | 1 231 | 232 | 233 | 234 | 235 | 1 236 | 237 | 238 | 1 239 | 240 | 241 | 1 242 | 243 | 244 | 245 | 246 | res\drawable-xxhdpi 247 | 1 248 | 249 | 250 | 251 | 252 | library\lib\mips 253 | 1 254 | 255 | 256 | 257 | 258 | 1 259 | 260 | 261 | 1 262 | 263 | 264 | 0 265 | 266 | 267 | 1 268 | 269 | 270 | Contents\MacOS 271 | 1 272 | 273 | 274 | library\lib\armeabi-v7a 275 | 1 276 | 277 | 278 | 1 279 | 280 | 281 | 282 | 283 | 0 284 | 285 | 286 | Contents\MacOS 287 | 1 288 | .framework 289 | 290 | 291 | 292 | 293 | 1 294 | 295 | 296 | 1 297 | 298 | 299 | 1 300 | 301 | 302 | 303 | 304 | 1 305 | 306 | 307 | 1 308 | 309 | 310 | 1 311 | 312 | 313 | 314 | 315 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 316 | 1 317 | 318 | 319 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 320 | 1 321 | 322 | 323 | 324 | 325 | 1 326 | 327 | 328 | 1 329 | 330 | 331 | 1 332 | 333 | 334 | 335 | 336 | 1 337 | 338 | 339 | 1 340 | 341 | 342 | 1 343 | 344 | 345 | 346 | 347 | library\lib\armeabi 348 | 1 349 | 350 | 351 | 352 | 353 | 0 354 | 355 | 356 | 1 357 | 358 | 359 | Contents\MacOS 360 | 1 361 | 362 | 363 | 364 | 365 | 1 366 | 367 | 368 | 1 369 | 370 | 371 | 1 372 | 373 | 374 | 375 | 376 | res\drawable-normal 377 | 1 378 | 379 | 380 | 381 | 382 | res\drawable-xhdpi 383 | 1 384 | 385 | 386 | 387 | 388 | res\drawable-large 389 | 1 390 | 391 | 392 | 393 | 394 | 1 395 | 396 | 397 | 1 398 | 399 | 400 | 1 401 | 402 | 403 | 404 | 405 | ..\ 406 | 1 407 | 408 | 409 | ..\ 410 | 1 411 | 412 | 413 | 414 | 415 | res\drawable-hdpi 416 | 1 417 | 418 | 419 | 420 | 421 | library\lib\armeabi-v7a 422 | 1 423 | 424 | 425 | 426 | 427 | Contents 428 | 1 429 | 430 | 431 | 432 | 433 | ..\ 434 | 1 435 | 436 | 437 | 438 | 439 | 1 440 | 441 | 442 | 1 443 | 444 | 445 | 1 446 | 447 | 448 | 449 | 450 | res\values 451 | 1 452 | 453 | 454 | 455 | 456 | res\drawable-small 457 | 1 458 | 459 | 460 | 461 | 462 | res\drawable 463 | 1 464 | 465 | 466 | 467 | 468 | 1 469 | 470 | 471 | 1 472 | 473 | 474 | 1 475 | 476 | 477 | 478 | 479 | 1 480 | 481 | 482 | 483 | 484 | res\drawable 485 | 1 486 | 487 | 488 | 489 | 490 | 0 491 | 492 | 493 | 0 494 | 495 | 496 | Contents\Resources\StartUp\ 497 | 0 498 | 499 | 500 | 0 501 | 502 | 503 | 0 504 | 505 | 506 | 0 507 | 508 | 509 | 510 | 511 | library\lib\armeabi-v7a 512 | 1 513 | 514 | 515 | 516 | 517 | 0 518 | .bpl 519 | 520 | 521 | 1 522 | .dylib 523 | 524 | 525 | Contents\MacOS 526 | 1 527 | .dylib 528 | 529 | 530 | 1 531 | .dylib 532 | 533 | 534 | 1 535 | .dylib 536 | 537 | 538 | 539 | 540 | res\drawable-mdpi 541 | 1 542 | 543 | 544 | 545 | 546 | res\drawable-xlarge 547 | 1 548 | 549 | 550 | 551 | 552 | res\drawable-ldpi 553 | 1 554 | 555 | 556 | 557 | 558 | 1 559 | 560 | 561 | 1 562 | 563 | 564 | 565 | 566 | 567 | 568 | 569 | 570 | 571 | 572 | 573 | 574 | False 575 | False 576 | False 577 | False 578 | False 579 | True 580 | False 581 | 582 | 583 | 12 584 | 585 | 586 | 587 | 588 | 589 | -------------------------------------------------------------------------------- /Samples/amqp_bind/amqp_bind.dproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | {698DF53B-FAB9-4E6C-8D71-8B4400E5B27B} 4 | 18.1 5 | None 6 | amqp_bind.dpr 7 | True 8 | Debug 9 | Win32 10 | 1 11 | Console 12 | 13 | 14 | true 15 | 16 | 17 | true 18 | Base 19 | true 20 | 21 | 22 | true 23 | Base 24 | true 25 | 26 | 27 | true 28 | Base 29 | true 30 | 31 | 32 | true 33 | Base 34 | true 35 | 36 | 37 | true 38 | Base 39 | true 40 | 41 | 42 | true 43 | Base 44 | true 45 | 46 | 47 | true 48 | Base 49 | true 50 | 51 | 52 | true 53 | Base 54 | true 55 | 56 | 57 | true 58 | Cfg_1 59 | true 60 | true 61 | 62 | 63 | true 64 | Base 65 | true 66 | 67 | 68 | System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) 69 | amqp_bind 70 | 2052 71 | CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= 72 | ..\$(Platform)\$(Config) 73 | ..\$(Platform)\$(Config) 74 | false 75 | false 76 | false 77 | false 78 | false 79 | 80 | 81 | $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png 82 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png 83 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png 84 | $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png 85 | $(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png 86 | android-support-v4.dex.jar;cloud-messaging.dex.jar;fmx.dex.jar;google-analytics-v2.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar;google-play-services.dex.jar 87 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png 88 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png 89 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png 90 | DBXSqliteDriver;tethering;FireDACDBXDriver;RESTBackendComponents;bindengine;CloudService;DataSnapClient;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;rtl;DbxClientDriver;IndyIPClient;DataSnapProviderClient;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;bindcompfmx;FireDACIBDriver;fmx;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;fmxinfopower;soapserver;FireDACCommonDriver;inet;IndyIPCommon;FireDAC;FireDACSqliteDriver;ibmonitor;ibxpress;ibxbindings;FireDACDSDriver;CustomIPTransport;bindcomp;dbxcds;dsnapxml;dbrtl;IndyProtocols;$(DCC_UsePackage) 91 | $(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png 92 | 93 | 94 | DBXSqliteDriver;tethering;FireDACDBXDriver;RESTBackendComponents;bindengine;CloudService;DataSnapClient;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;rtl;DbxClientDriver;IndyIPClient;DataSnapProviderClient;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;bindcompfmx;FireDACIBDriver;fmx;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;fmxinfopower;soapserver;FireDACCommonDriver;inet;IndyIPCommon;FireDAC;FireDACSqliteDriver;ibmonitor;ibxpress;ibxbindings;FireDACDSDriver;CustomIPTransport;bindcomp;dbxcds;dsnapxml;dbrtl;IndyProtocols;fmxase;$(DCC_UsePackage) 95 | 96 | 97 | DBXSqliteDriver;rtcSDK_D24;tethering;FireDACDBXDriver;RESTBackendComponents;bindengine;CloudService;DataSnapClient;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;rtl;DbxClientDriver;IndyIPClient;DataSnapProviderClient;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;bindcompfmx;FireDACIBDriver;fmx;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;fmxinfopower;soapserver;FireDACCommonDriver;inet;IndyIPCommon;FireDAC;FireDACSqliteDriver;ibmonitor;ibxpress;ibxbindings;FireDACDSDriver;CustomIPTransport;bindcomp;dbxcds;dsnapxml;dbrtl;IndyProtocols;fmxase;$(DCC_UsePackage) 98 | 99 | 100 | DBXSqliteDriver;tethering;FireDACDBXDriver;RESTBackendComponents;bindengine;CloudService;DataSnapClient;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;rtl;DbxClientDriver;IndyIPClient;DataSnapProviderClient;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;bindcompfmx;FireDACIBDriver;fmx;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;fmxinfopower;soapserver;FireDACCommonDriver;inet;IndyIPCommon;FireDAC;FireDACSqliteDriver;ibmonitor;ibxpress;ibxbindings;FireDACDSDriver;CustomIPTransport;bindcomp;dbxcds;dsnapxml;dbrtl;IndyProtocols;fmxase;$(DCC_UsePackage) 101 | 102 | 103 | true 104 | DBXSqliteDriver;tethering;FireDACMSSQLDriver;FireDACDBXDriver;RESTBackendComponents;bindengine;CloudService;FireDACMySQLDriver;DataSnapClient;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;emshosting;FireDACTDataDriver;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;rtl;DbxClientDriver;DBXSybaseASADriver;IndyIPClient;FireDACODBCDriver;DataSnapIndy10ServerTransport;DataSnapProviderClient;FireDACMongoDBDriver;DataSnapServerMidas;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;bindcompfmx;DBXOracleDriver;inetdb;emsedge;FireDACIBDriver;fmx;fmxdae;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;fmxinfopower;soapserver;FireDACOracleDriver;DBXMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;inet;IndyIPCommon;FireDAC;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;ibxpress;DataSnapServer;ibxbindings;FireDACDSDriver;CustomIPTransport;bindcomp;DBXInformixDriver;dbxcds;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;fmxase;$(DCC_UsePackage) 105 | 106 | 107 | true 108 | Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) 109 | DBXSqliteDriver;dxSkinBlueprintRS24;DBXDb2Driver;dxPSdxGaugeControlLnkRS24;rtcSDK_D24;vclactnband;dxSpreadSheetRS24;vclFireDAC;dxDockingRS24;tethering;dxSkinVisualStudio2013BlueRS24;dxPScxTLLnkRS24;dxBarExtItemsRS24;FireDACADSDriver;dxFireDACServerModeRS24;dxSkinOffice2007BlackRS24;QImport3RT_D24;FireDACMSSQLDriver;vcltouch;vcldb;Intraweb;svn;dxSkinXmas2008BlueRS24;dxSkinscxSchedulerPainterRS24;dxSkinsdxBarPainterRS24;dxSkinOffice2010BlackRS24;dxADOServerModeRS24;dxGDIPlusRS24;dxPSdxDBTVLnkRS24;frx24;vclib;dxSkinLilianRS24;FireDACDBXDriver;tmsexdXE10;dxNavBarRS24;vclx;cxTreeListRS24;TeeUI924;dxSkinDevExpressDarkStyleRS24;dxtrmdRS24;RESTBackendComponents;dxRibbonRS24;VCLRESTComponents;cxExportRS24;TeeTree2D24Tee9;cxPivotGridChartRS24;cxTreeListdxBarPopupMenuRS24;FMXTeeImport924;dxSkinOffice2013LightGrayRS24;dxTabbedMDIRS24;vclie;dxSkinVisualStudio2013LightRS24;bindengine;CloudService;TeeImport924;FireDACMySQLDriver;cxPivotGridOLAPRS24;dxSkinSharpRS24;dxSkinBlackRS24;DataSnapClient;dxPSLnksRS24;bindcompdbx;dxSkinCoffeeRS24;DBXSybaseASEDriver;IndyIPServer;dxSkinsdxRibbonPainterRS24;dxCoreRS24;IndySystem;TeeLanguage924;tmsxlsdXE10;dxSkinOffice2013DarkGrayRS24;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;emshosting;dxBarDBNavRS24;dxSkinDarkSideRS24;TeeGL924;dxSkinOffice2013WhiteRS24;DBXOdbcDriver;FireDACTDataDriver;dxPSdxLCLnkRS24;dxPScxExtCommonRS24;dxPScxPivotGridLnkRS24;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;dxSkinMcSkinRS24;rtl;dxLayoutControlRS24;DbxClientDriver;cxGridRS24;DBXSybaseASADriver;dxSkinBlueRS24;dxSpellCheckerRS24;CodeSiteExpressPkg;cxLibraryRS24;dxSkinStardustRS24;dxSkinCaramelRS24;appanalytics;dxSkinsCoreRS24;dxDBXServerModeRS24;dxMapControlRS24;IndyIPClient;dxSkinHighContrastRS24;bindcompvcl;dxSkinTheAsphaltWorldRS24;frxe24;cxPageControlRS24;dxPsPrVwAdvRS24;cxEditorsRS24;dxSkinSevenClassicRS24;TeeImage924;VclSmp;cxSchedulerRibbonStyleEventEditorRS24;FireDACODBCDriver;dxSkinPumpkinRS24;DataSnapIndy10ServerTransport;FMXTeePro924;dxSkinscxPCPainterRS24;dxPSPrVwRibbonRS24;DataSnapProviderClient;FireDACMongoDBDriver;TeePro924;dxSkinSevenRS24;dxdborRS24;dxHttpIndyRequestRS24;DataSnapServerMidas;RESTComponents;dxmdsRS24;cxSchedulerGridRS24;cxPivotGridRS24;DBXInterBaseDriver;clinetsuitedX101;emsclientfiredac;DataSnapFireDAC;svnui;TeeDB924;dxdbtrRS24;dxSkinMetropolisRS24;dxSkinMoneyTwinsRS24;dxPScxPCProdRS24;DBXMSSQLDriver;DatasnapConnectorsFreePascal;dxWizardControlRS24;FMXTee924;bindcompfmx;dxPSdxOCLnkRS24;dxBarExtDBItemsRS24;DBXOracleDriver;dxPSdxFCLnkRS24;inetdb;cxSchedulerTreeBrowserRS24;dxSkinOffice2016ColorfulRS24;emsedge;FireDACIBDriver;fmx;fmxdae;dxSkinSpringTimeRS24;dxSkinValentineRS24;dxSkinLondonLiquidSkyRS24;dxSkinWhiteprintRS24;Tee924;dbexpress;IndyCore;dxSkiniMaginaryRS24;dxTileControlRS24;dxSkinOffice2016DarkRS24;dsnap;DataSnapCommon;emsclient;cxDataRS24;FireDACCommon;dxSkinOffice2007PinkRS24;dxPSdxSpreadSheetLnkRS24;fmxinfopower;DataSnapConnectors;dxSkinDevExpressStyleRS24;soapserver;dxBarRS24;dxSkinMetropolisDarkRS24;FireDACOracleDriver;DBXMySQLDriver;dxPSRichEditControlLnkRS24;DBXFirebirdDriver;dxPScxCommonRS24;FireDACCommonODBC;FireDACCommonDriver;FMXTeeLanguage924;inet;IndyIPCommon;dxSkinVS2010RS24;vcl;dxSkinSharpPlusRS24;dxPSdxDBOCLnkRS24;FireDACDb2Driver;dxThemeRS24;dxSkinOffice2007GreenRS24;dxPScxGridLnkRS24;FireDAC;dxPScxVGridLnkRS24;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;dxSkinOffice2010BlueRS24;dxServerModeRS24;TeeWorld924;ibxpress;DataSnapServer;ibxbindings;FMXTree24;vclwinx;FireDACDSDriver;cxSchedulerRS24;dxPSCoreRS24;dxSkinsdxDLPainterRS24;dxSkinOffice2007BlueRS24;CustomIPTransport;vcldsnap;dxSkinGlassOceansRS24;TMSFMXPackPkgDXE10;dxRibbonCustomizationFormRS24;dxPScxSchedulerLnkRS24;dxSkinSummer2008RS24;FMXTeeDB924;bindcomp;FmxTeeUI924;dxSkinDarkRoomRS24;DBXInformixDriver;tmswizdXE10;dxorgcRS24;dxSkinFoggyRS24;dxSkinOffice2010SilverRS24;dxRichEditControlRS24;dxSkinsdxNavBarPainterRS24;dbxcds;adortl;dxSkinSilverRS24;dxSkinVisualStudio2013DarkRS24;dxComnRS24;cxVerticalGridRS24;dxFlowChartRS24;frxDB24;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;QExport4RT_D24;dxGaugeControlRS24;dxSkinLiquidSkyRS24;dxSkinOffice2007SilverRS24;tmsdXE10;fmxase;$(DCC_UsePackage) 110 | 1033 111 | CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= 112 | 113 | 114 | true 115 | DBXSqliteDriver;dxSkinBlueprintRS24;DBXDb2Driver;dxPSdxGaugeControlLnkRS24;rtcSDK_D24;vclactnband;dxSpreadSheetRS24;vclFireDAC;dxDockingRS24;tethering;dxSkinVisualStudio2013BlueRS24;dxPScxTLLnkRS24;dxBarExtItemsRS24;FireDACADSDriver;dxFireDACServerModeRS24;dxSkinOffice2007BlackRS24;FireDACMSSQLDriver;vcltouch;vcldb;Intraweb;dxSkinXmas2008BlueRS24;dxSkinscxSchedulerPainterRS24;dxSkinsdxBarPainterRS24;dxSkinOffice2010BlackRS24;dxADOServerModeRS24;dxGDIPlusRS24;dxPSdxDBTVLnkRS24;vclib;dxSkinLilianRS24;FireDACDBXDriver;dxNavBarRS24;vclx;cxTreeListRS24;dxSkinDevExpressDarkStyleRS24;dxtrmdRS24;RESTBackendComponents;dxRibbonRS24;VCLRESTComponents;cxExportRS24;cxPivotGridChartRS24;cxTreeListdxBarPopupMenuRS24;dxSkinOffice2013LightGrayRS24;dxTabbedMDIRS24;vclie;dxSkinVisualStudio2013LightRS24;bindengine;CloudService;FireDACMySQLDriver;cxPivotGridOLAPRS24;dxSkinSharpRS24;dxSkinBlackRS24;DataSnapClient;dxPSLnksRS24;bindcompdbx;dxSkinCoffeeRS24;DBXSybaseASEDriver;IndyIPServer;dxSkinsdxRibbonPainterRS24;dxCoreRS24;IndySystem;dxSkinOffice2013DarkGrayRS24;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;emshosting;dxBarDBNavRS24;dxSkinDarkSideRS24;dxSkinOffice2013WhiteRS24;DBXOdbcDriver;FireDACTDataDriver;dxPSdxLCLnkRS24;dxPScxExtCommonRS24;dxPScxPivotGridLnkRS24;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;dxSkinMcSkinRS24;rtl;dxLayoutControlRS24;DbxClientDriver;cxGridRS24;DBXSybaseASADriver;dxSkinBlueRS24;dxSpellCheckerRS24;cxLibraryRS24;dxSkinStardustRS24;dxSkinCaramelRS24;appanalytics;dxSkinsCoreRS24;dxDBXServerModeRS24;dxMapControlRS24;IndyIPClient;dxSkinHighContrastRS24;bindcompvcl;dxSkinTheAsphaltWorldRS24;cxPageControlRS24;dxPsPrVwAdvRS24;cxEditorsRS24;dxSkinSevenClassicRS24;VclSmp;cxSchedulerRibbonStyleEventEditorRS24;FireDACODBCDriver;dxSkinPumpkinRS24;DataSnapIndy10ServerTransport;dxSkinscxPCPainterRS24;dxPSPrVwRibbonRS24;DataSnapProviderClient;FireDACMongoDBDriver;dxSkinSevenRS24;dxdborRS24;dxHttpIndyRequestRS24;DataSnapServerMidas;RESTComponents;dxmdsRS24;cxSchedulerGridRS24;cxPivotGridRS24;DBXInterBaseDriver;clinetsuitedX101;emsclientfiredac;DataSnapFireDAC;dxdbtrRS24;dxSkinMetropolisRS24;dxSkinMoneyTwinsRS24;dxPScxPCProdRS24;DBXMSSQLDriver;DatasnapConnectorsFreePascal;dxWizardControlRS24;bindcompfmx;dxPSdxOCLnkRS24;dxBarExtDBItemsRS24;DBXOracleDriver;dxPSdxFCLnkRS24;inetdb;cxSchedulerTreeBrowserRS24;dxSkinOffice2016ColorfulRS24;emsedge;FireDACIBDriver;fmx;fmxdae;dxSkinSpringTimeRS24;dxSkinValentineRS24;dxSkinLondonLiquidSkyRS24;dxSkinWhiteprintRS24;dbexpress;IndyCore;dxSkiniMaginaryRS24;dxTileControlRS24;dxSkinOffice2016DarkRS24;dsnap;DataSnapCommon;emsclient;cxDataRS24;FireDACCommon;dxSkinOffice2007PinkRS24;dxPSdxSpreadSheetLnkRS24;fmxinfopower;DataSnapConnectors;dxSkinDevExpressStyleRS24;soapserver;dxBarRS24;dxSkinMetropolisDarkRS24;FireDACOracleDriver;DBXMySQLDriver;dxPSRichEditControlLnkRS24;DBXFirebirdDriver;dxPScxCommonRS24;FireDACCommonODBC;FireDACCommonDriver;inet;IndyIPCommon;dxSkinVS2010RS24;vcl;dxSkinSharpPlusRS24;dxPSdxDBOCLnkRS24;FireDACDb2Driver;dxThemeRS24;dxSkinOffice2007GreenRS24;dxPScxGridLnkRS24;FireDAC;dxPScxVGridLnkRS24;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;dxSkinOffice2010BlueRS24;dxServerModeRS24;ibxpress;DataSnapServer;ibxbindings;vclwinx;FireDACDSDriver;cxSchedulerRS24;dxPSCoreRS24;dxSkinsdxDLPainterRS24;dxSkinOffice2007BlueRS24;CustomIPTransport;vcldsnap;dxSkinGlassOceansRS24;dxRibbonCustomizationFormRS24;dxPScxSchedulerLnkRS24;dxSkinSummer2008RS24;bindcomp;dxSkinDarkRoomRS24;DBXInformixDriver;dxorgcRS24;dxSkinFoggyRS24;dxSkinOffice2010SilverRS24;dxRichEditControlRS24;dxSkinsdxNavBarPainterRS24;dbxcds;adortl;dxSkinSilverRS24;dxSkinVisualStudio2013DarkRS24;dxComnRS24;cxVerticalGridRS24;dxFlowChartRS24;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;dxGaugeControlRS24;dxSkinLiquidSkyRS24;dxSkinOffice2007SilverRS24;fmxase;$(DCC_UsePackage) 116 | 117 | 118 | DEBUG;$(DCC_Define) 119 | true 120 | false 121 | true 122 | true 123 | true 124 | 125 | 126 | (None) 127 | 1033 128 | false 129 | 130 | 131 | false 132 | RELEASE;$(DCC_Define) 133 | 0 134 | 0 135 | 136 | 137 | 138 | MainSource 139 | 140 | 141 | 142 | Cfg_2 143 | Base 144 | 145 | 146 | Base 147 | 148 | 149 | Cfg_1 150 | Base 151 | 152 | 153 | 154 | Delphi.Personality.12 155 | Application 156 | 157 | 158 | 159 | amqp_bind.dpr 160 | 161 | 162 | Embarcadero C++Builder Office 2000 Servers Package 163 | Embarcadero C++Builder Office XP Servers Package 164 | Microsoft Office 2000 Sample Automation Server Wrapper Components 165 | Microsoft Office XP Sample Automation Server Wrapper Components 166 | 167 | 168 | 169 | 170 | 171 | true 172 | 173 | 174 | 175 | 176 | true 177 | 178 | 179 | 180 | 181 | true 182 | 183 | 184 | 185 | 186 | true 187 | 188 | 189 | 190 | 191 | amqp_bind.exe 192 | true 193 | 194 | 195 | 196 | 197 | 0 198 | .dll;.bpl 199 | 200 | 201 | 1 202 | .dylib 203 | 204 | 205 | Contents\MacOS 206 | 1 207 | .dylib 208 | 209 | 210 | 1 211 | .dylib 212 | 213 | 214 | 1 215 | .dylib 216 | 217 | 218 | 219 | 220 | Contents\Resources 221 | 1 222 | 223 | 224 | 225 | 226 | classes 227 | 1 228 | 229 | 230 | 231 | 232 | Contents\MacOS 233 | 0 234 | 235 | 236 | 1 237 | 238 | 239 | Contents\MacOS 240 | 1 241 | 242 | 243 | 244 | 245 | 1 246 | 247 | 248 | 1 249 | 250 | 251 | 1 252 | 253 | 254 | 255 | 256 | res\drawable-xxhdpi 257 | 1 258 | 259 | 260 | 261 | 262 | library\lib\mips 263 | 1 264 | 265 | 266 | 267 | 268 | 1 269 | 270 | 271 | 1 272 | 273 | 274 | 0 275 | 276 | 277 | 1 278 | 279 | 280 | Contents\MacOS 281 | 1 282 | 283 | 284 | library\lib\armeabi-v7a 285 | 1 286 | 287 | 288 | 1 289 | 290 | 291 | 292 | 293 | 0 294 | 295 | 296 | Contents\MacOS 297 | 1 298 | .framework 299 | 300 | 301 | 302 | 303 | 1 304 | 305 | 306 | 1 307 | 308 | 309 | 1 310 | 311 | 312 | 313 | 314 | 1 315 | 316 | 317 | 1 318 | 319 | 320 | 1 321 | 322 | 323 | 324 | 325 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 326 | 1 327 | 328 | 329 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 330 | 1 331 | 332 | 333 | 334 | 335 | 1 336 | 337 | 338 | 1 339 | 340 | 341 | 1 342 | 343 | 344 | 345 | 346 | 1 347 | 348 | 349 | 1 350 | 351 | 352 | 1 353 | 354 | 355 | 356 | 357 | library\lib\armeabi 358 | 1 359 | 360 | 361 | 362 | 363 | 0 364 | 365 | 366 | 1 367 | 368 | 369 | Contents\MacOS 370 | 1 371 | 372 | 373 | 374 | 375 | 1 376 | 377 | 378 | 1 379 | 380 | 381 | 1 382 | 383 | 384 | 385 | 386 | res\drawable-normal 387 | 1 388 | 389 | 390 | 391 | 392 | res\drawable-xhdpi 393 | 1 394 | 395 | 396 | 397 | 398 | res\drawable-large 399 | 1 400 | 401 | 402 | 403 | 404 | 1 405 | 406 | 407 | 1 408 | 409 | 410 | 1 411 | 412 | 413 | 414 | 415 | ..\ 416 | 1 417 | 418 | 419 | ..\ 420 | 1 421 | 422 | 423 | 424 | 425 | res\drawable-hdpi 426 | 1 427 | 428 | 429 | 430 | 431 | library\lib\armeabi-v7a 432 | 1 433 | 434 | 435 | 436 | 437 | Contents 438 | 1 439 | 440 | 441 | 442 | 443 | ..\ 444 | 1 445 | 446 | 447 | 448 | 449 | 1 450 | 451 | 452 | 1 453 | 454 | 455 | 1 456 | 457 | 458 | 459 | 460 | res\values 461 | 1 462 | 463 | 464 | 465 | 466 | res\drawable-small 467 | 1 468 | 469 | 470 | 471 | 472 | res\drawable 473 | 1 474 | 475 | 476 | 477 | 478 | 1 479 | 480 | 481 | 1 482 | 483 | 484 | 1 485 | 486 | 487 | 488 | 489 | 1 490 | 491 | 492 | 493 | 494 | res\drawable 495 | 1 496 | 497 | 498 | 499 | 500 | 0 501 | 502 | 503 | 0 504 | 505 | 506 | Contents\Resources\StartUp\ 507 | 0 508 | 509 | 510 | 0 511 | 512 | 513 | 0 514 | 515 | 516 | 0 517 | 518 | 519 | 520 | 521 | library\lib\armeabi-v7a 522 | 1 523 | 524 | 525 | 526 | 527 | 0 528 | .bpl 529 | 530 | 531 | 1 532 | .dylib 533 | 534 | 535 | Contents\MacOS 536 | 1 537 | .dylib 538 | 539 | 540 | 1 541 | .dylib 542 | 543 | 544 | 1 545 | .dylib 546 | 547 | 548 | 549 | 550 | res\drawable-mdpi 551 | 1 552 | 553 | 554 | 555 | 556 | res\drawable-xlarge 557 | 1 558 | 559 | 560 | 561 | 562 | res\drawable-ldpi 563 | 1 564 | 565 | 566 | 567 | 568 | 1 569 | 570 | 571 | 1 572 | 573 | 574 | 575 | 576 | 577 | 578 | 579 | 580 | 581 | 582 | 583 | 584 | False 585 | False 586 | False 587 | False 588 | False 589 | True 590 | False 591 | 592 | 593 | 12 594 | 595 | 596 | 597 | 598 | 599 | -------------------------------------------------------------------------------- /Samples/amqp_unbind/amqp_unbind.dproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | {C185E9E0-6B75-479B-A06C-DC0525014A9C} 4 | 18.1 5 | None 6 | amqp_unbind.dpr 7 | True 8 | Debug 9 | Win32 10 | 1 11 | Console 12 | 13 | 14 | true 15 | 16 | 17 | true 18 | Base 19 | true 20 | 21 | 22 | true 23 | Base 24 | true 25 | 26 | 27 | true 28 | Base 29 | true 30 | 31 | 32 | true 33 | Base 34 | true 35 | 36 | 37 | true 38 | Base 39 | true 40 | 41 | 42 | true 43 | Base 44 | true 45 | 46 | 47 | true 48 | Base 49 | true 50 | 51 | 52 | true 53 | Base 54 | true 55 | 56 | 57 | true 58 | Cfg_1 59 | true 60 | true 61 | 62 | 63 | true 64 | Base 65 | true 66 | 67 | 68 | System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) 69 | amqp_unbind 70 | 2052 71 | CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= 72 | ..\$(Platform)\$(Config) 73 | ..\$(Platform)\$(Config) 74 | false 75 | false 76 | false 77 | false 78 | false 79 | 80 | 81 | $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png 82 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png 83 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png 84 | $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png 85 | $(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png 86 | android-support-v4.dex.jar;cloud-messaging.dex.jar;fmx.dex.jar;google-analytics-v2.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar;google-play-services.dex.jar 87 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png 88 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png 89 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png 90 | DBXSqliteDriver;tethering;FireDACDBXDriver;RESTBackendComponents;bindengine;CloudService;DataSnapClient;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;rtl;DbxClientDriver;IndyIPClient;DataSnapProviderClient;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;bindcompfmx;FireDACIBDriver;fmx;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;fmxinfopower;soapserver;FireDACCommonDriver;inet;IndyIPCommon;FireDAC;FireDACSqliteDriver;ibmonitor;ibxpress;ibxbindings;FireDACDSDriver;CustomIPTransport;bindcomp;dbxcds;dsnapxml;dbrtl;IndyProtocols;$(DCC_UsePackage) 91 | $(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png 92 | 93 | 94 | DBXSqliteDriver;tethering;FireDACDBXDriver;RESTBackendComponents;bindengine;CloudService;DataSnapClient;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;rtl;DbxClientDriver;IndyIPClient;DataSnapProviderClient;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;bindcompfmx;FireDACIBDriver;fmx;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;fmxinfopower;soapserver;FireDACCommonDriver;inet;IndyIPCommon;FireDAC;FireDACSqliteDriver;ibmonitor;ibxpress;ibxbindings;FireDACDSDriver;CustomIPTransport;bindcomp;dbxcds;dsnapxml;dbrtl;IndyProtocols;fmxase;$(DCC_UsePackage) 95 | 96 | 97 | DBXSqliteDriver;rtcSDK_D24;tethering;FireDACDBXDriver;RESTBackendComponents;bindengine;CloudService;DataSnapClient;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;rtl;DbxClientDriver;IndyIPClient;DataSnapProviderClient;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;bindcompfmx;FireDACIBDriver;fmx;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;fmxinfopower;soapserver;FireDACCommonDriver;inet;IndyIPCommon;FireDAC;FireDACSqliteDriver;ibmonitor;ibxpress;ibxbindings;FireDACDSDriver;CustomIPTransport;bindcomp;dbxcds;dsnapxml;dbrtl;IndyProtocols;fmxase;$(DCC_UsePackage) 98 | 99 | 100 | DBXSqliteDriver;tethering;FireDACDBXDriver;RESTBackendComponents;bindengine;CloudService;DataSnapClient;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;rtl;DbxClientDriver;IndyIPClient;DataSnapProviderClient;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;bindcompfmx;FireDACIBDriver;fmx;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;fmxinfopower;soapserver;FireDACCommonDriver;inet;IndyIPCommon;FireDAC;FireDACSqliteDriver;ibmonitor;ibxpress;ibxbindings;FireDACDSDriver;CustomIPTransport;bindcomp;dbxcds;dsnapxml;dbrtl;IndyProtocols;fmxase;$(DCC_UsePackage) 101 | 102 | 103 | true 104 | DBXSqliteDriver;tethering;FireDACMSSQLDriver;FireDACDBXDriver;RESTBackendComponents;bindengine;CloudService;FireDACMySQLDriver;DataSnapClient;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;emshosting;FireDACTDataDriver;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;rtl;DbxClientDriver;DBXSybaseASADriver;IndyIPClient;FireDACODBCDriver;DataSnapIndy10ServerTransport;DataSnapProviderClient;FireDACMongoDBDriver;DataSnapServerMidas;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;bindcompfmx;DBXOracleDriver;inetdb;emsedge;FireDACIBDriver;fmx;fmxdae;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;fmxinfopower;soapserver;FireDACOracleDriver;DBXMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;inet;IndyIPCommon;FireDAC;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;ibxpress;DataSnapServer;ibxbindings;FireDACDSDriver;CustomIPTransport;bindcomp;DBXInformixDriver;dbxcds;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;fmxase;$(DCC_UsePackage) 105 | 106 | 107 | true 108 | Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) 109 | DBXSqliteDriver;dxSkinBlueprintRS24;DBXDb2Driver;dxPSdxGaugeControlLnkRS24;rtcSDK_D24;vclactnband;dxSpreadSheetRS24;vclFireDAC;dxDockingRS24;tethering;dxSkinVisualStudio2013BlueRS24;dxPScxTLLnkRS24;dxBarExtItemsRS24;FireDACADSDriver;dxFireDACServerModeRS24;dxSkinOffice2007BlackRS24;QImport3RT_D24;FireDACMSSQLDriver;vcltouch;vcldb;Intraweb;svn;dxSkinXmas2008BlueRS24;dxSkinscxSchedulerPainterRS24;dxSkinsdxBarPainterRS24;dxSkinOffice2010BlackRS24;dxADOServerModeRS24;dxGDIPlusRS24;dxPSdxDBTVLnkRS24;frx24;vclib;dxSkinLilianRS24;FireDACDBXDriver;tmsexdXE10;dxNavBarRS24;vclx;cxTreeListRS24;TeeUI924;dxSkinDevExpressDarkStyleRS24;dxtrmdRS24;RESTBackendComponents;dxRibbonRS24;VCLRESTComponents;cxExportRS24;TeeTree2D24Tee9;cxPivotGridChartRS24;cxTreeListdxBarPopupMenuRS24;FMXTeeImport924;dxSkinOffice2013LightGrayRS24;dxTabbedMDIRS24;vclie;dxSkinVisualStudio2013LightRS24;bindengine;CloudService;TeeImport924;FireDACMySQLDriver;cxPivotGridOLAPRS24;dxSkinSharpRS24;dxSkinBlackRS24;DataSnapClient;dxPSLnksRS24;bindcompdbx;dxSkinCoffeeRS24;DBXSybaseASEDriver;IndyIPServer;dxSkinsdxRibbonPainterRS24;dxCoreRS24;IndySystem;TeeLanguage924;tmsxlsdXE10;dxSkinOffice2013DarkGrayRS24;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;emshosting;dxBarDBNavRS24;dxSkinDarkSideRS24;TeeGL924;dxSkinOffice2013WhiteRS24;DBXOdbcDriver;FireDACTDataDriver;dxPSdxLCLnkRS24;dxPScxExtCommonRS24;dxPScxPivotGridLnkRS24;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;dxSkinMcSkinRS24;rtl;dxLayoutControlRS24;DbxClientDriver;cxGridRS24;DBXSybaseASADriver;dxSkinBlueRS24;dxSpellCheckerRS24;CodeSiteExpressPkg;cxLibraryRS24;dxSkinStardustRS24;dxSkinCaramelRS24;appanalytics;dxSkinsCoreRS24;dxDBXServerModeRS24;dxMapControlRS24;IndyIPClient;dxSkinHighContrastRS24;bindcompvcl;dxSkinTheAsphaltWorldRS24;frxe24;cxPageControlRS24;dxPsPrVwAdvRS24;cxEditorsRS24;dxSkinSevenClassicRS24;TeeImage924;VclSmp;cxSchedulerRibbonStyleEventEditorRS24;FireDACODBCDriver;dxSkinPumpkinRS24;DataSnapIndy10ServerTransport;FMXTeePro924;dxSkinscxPCPainterRS24;dxPSPrVwRibbonRS24;DataSnapProviderClient;FireDACMongoDBDriver;TeePro924;dxSkinSevenRS24;dxdborRS24;dxHttpIndyRequestRS24;DataSnapServerMidas;RESTComponents;dxmdsRS24;cxSchedulerGridRS24;cxPivotGridRS24;DBXInterBaseDriver;clinetsuitedX101;emsclientfiredac;DataSnapFireDAC;svnui;TeeDB924;dxdbtrRS24;dxSkinMetropolisRS24;dxSkinMoneyTwinsRS24;dxPScxPCProdRS24;DBXMSSQLDriver;DatasnapConnectorsFreePascal;dxWizardControlRS24;FMXTee924;bindcompfmx;dxPSdxOCLnkRS24;dxBarExtDBItemsRS24;DBXOracleDriver;dxPSdxFCLnkRS24;inetdb;cxSchedulerTreeBrowserRS24;dxSkinOffice2016ColorfulRS24;emsedge;FireDACIBDriver;fmx;fmxdae;dxSkinSpringTimeRS24;dxSkinValentineRS24;dxSkinLondonLiquidSkyRS24;dxSkinWhiteprintRS24;Tee924;dbexpress;IndyCore;dxSkiniMaginaryRS24;dxTileControlRS24;dxSkinOffice2016DarkRS24;dsnap;DataSnapCommon;emsclient;cxDataRS24;FireDACCommon;dxSkinOffice2007PinkRS24;dxPSdxSpreadSheetLnkRS24;fmxinfopower;DataSnapConnectors;dxSkinDevExpressStyleRS24;soapserver;dxBarRS24;dxSkinMetropolisDarkRS24;FireDACOracleDriver;DBXMySQLDriver;dxPSRichEditControlLnkRS24;DBXFirebirdDriver;dxPScxCommonRS24;FireDACCommonODBC;FireDACCommonDriver;FMXTeeLanguage924;inet;IndyIPCommon;dxSkinVS2010RS24;vcl;dxSkinSharpPlusRS24;dxPSdxDBOCLnkRS24;FireDACDb2Driver;dxThemeRS24;dxSkinOffice2007GreenRS24;dxPScxGridLnkRS24;FireDAC;dxPScxVGridLnkRS24;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;dxSkinOffice2010BlueRS24;dxServerModeRS24;TeeWorld924;ibxpress;DataSnapServer;ibxbindings;FMXTree24;vclwinx;FireDACDSDriver;cxSchedulerRS24;dxPSCoreRS24;dxSkinsdxDLPainterRS24;dxSkinOffice2007BlueRS24;CustomIPTransport;vcldsnap;dxSkinGlassOceansRS24;TMSFMXPackPkgDXE10;dxRibbonCustomizationFormRS24;dxPScxSchedulerLnkRS24;dxSkinSummer2008RS24;FMXTeeDB924;bindcomp;FmxTeeUI924;dxSkinDarkRoomRS24;DBXInformixDriver;tmswizdXE10;dxorgcRS24;dxSkinFoggyRS24;dxSkinOffice2010SilverRS24;dxRichEditControlRS24;dxSkinsdxNavBarPainterRS24;dbxcds;adortl;dxSkinSilverRS24;dxSkinVisualStudio2013DarkRS24;dxComnRS24;cxVerticalGridRS24;dxFlowChartRS24;frxDB24;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;QExport4RT_D24;dxGaugeControlRS24;dxSkinLiquidSkyRS24;dxSkinOffice2007SilverRS24;tmsdXE10;fmxase;$(DCC_UsePackage) 110 | 1033 111 | CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= 112 | 113 | 114 | true 115 | DBXSqliteDriver;dxSkinBlueprintRS24;DBXDb2Driver;dxPSdxGaugeControlLnkRS24;rtcSDK_D24;vclactnband;dxSpreadSheetRS24;vclFireDAC;dxDockingRS24;tethering;dxSkinVisualStudio2013BlueRS24;dxPScxTLLnkRS24;dxBarExtItemsRS24;FireDACADSDriver;dxFireDACServerModeRS24;dxSkinOffice2007BlackRS24;FireDACMSSQLDriver;vcltouch;vcldb;Intraweb;dxSkinXmas2008BlueRS24;dxSkinscxSchedulerPainterRS24;dxSkinsdxBarPainterRS24;dxSkinOffice2010BlackRS24;dxADOServerModeRS24;dxGDIPlusRS24;dxPSdxDBTVLnkRS24;vclib;dxSkinLilianRS24;FireDACDBXDriver;dxNavBarRS24;vclx;cxTreeListRS24;dxSkinDevExpressDarkStyleRS24;dxtrmdRS24;RESTBackendComponents;dxRibbonRS24;VCLRESTComponents;cxExportRS24;cxPivotGridChartRS24;cxTreeListdxBarPopupMenuRS24;dxSkinOffice2013LightGrayRS24;dxTabbedMDIRS24;vclie;dxSkinVisualStudio2013LightRS24;bindengine;CloudService;FireDACMySQLDriver;cxPivotGridOLAPRS24;dxSkinSharpRS24;dxSkinBlackRS24;DataSnapClient;dxPSLnksRS24;bindcompdbx;dxSkinCoffeeRS24;DBXSybaseASEDriver;IndyIPServer;dxSkinsdxRibbonPainterRS24;dxCoreRS24;IndySystem;dxSkinOffice2013DarkGrayRS24;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;emshosting;dxBarDBNavRS24;dxSkinDarkSideRS24;dxSkinOffice2013WhiteRS24;DBXOdbcDriver;FireDACTDataDriver;dxPSdxLCLnkRS24;dxPScxExtCommonRS24;dxPScxPivotGridLnkRS24;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;dxSkinMcSkinRS24;rtl;dxLayoutControlRS24;DbxClientDriver;cxGridRS24;DBXSybaseASADriver;dxSkinBlueRS24;dxSpellCheckerRS24;cxLibraryRS24;dxSkinStardustRS24;dxSkinCaramelRS24;appanalytics;dxSkinsCoreRS24;dxDBXServerModeRS24;dxMapControlRS24;IndyIPClient;dxSkinHighContrastRS24;bindcompvcl;dxSkinTheAsphaltWorldRS24;cxPageControlRS24;dxPsPrVwAdvRS24;cxEditorsRS24;dxSkinSevenClassicRS24;VclSmp;cxSchedulerRibbonStyleEventEditorRS24;FireDACODBCDriver;dxSkinPumpkinRS24;DataSnapIndy10ServerTransport;dxSkinscxPCPainterRS24;dxPSPrVwRibbonRS24;DataSnapProviderClient;FireDACMongoDBDriver;dxSkinSevenRS24;dxdborRS24;dxHttpIndyRequestRS24;DataSnapServerMidas;RESTComponents;dxmdsRS24;cxSchedulerGridRS24;cxPivotGridRS24;DBXInterBaseDriver;clinetsuitedX101;emsclientfiredac;DataSnapFireDAC;dxdbtrRS24;dxSkinMetropolisRS24;dxSkinMoneyTwinsRS24;dxPScxPCProdRS24;DBXMSSQLDriver;DatasnapConnectorsFreePascal;dxWizardControlRS24;bindcompfmx;dxPSdxOCLnkRS24;dxBarExtDBItemsRS24;DBXOracleDriver;dxPSdxFCLnkRS24;inetdb;cxSchedulerTreeBrowserRS24;dxSkinOffice2016ColorfulRS24;emsedge;FireDACIBDriver;fmx;fmxdae;dxSkinSpringTimeRS24;dxSkinValentineRS24;dxSkinLondonLiquidSkyRS24;dxSkinWhiteprintRS24;dbexpress;IndyCore;dxSkiniMaginaryRS24;dxTileControlRS24;dxSkinOffice2016DarkRS24;dsnap;DataSnapCommon;emsclient;cxDataRS24;FireDACCommon;dxSkinOffice2007PinkRS24;dxPSdxSpreadSheetLnkRS24;fmxinfopower;DataSnapConnectors;dxSkinDevExpressStyleRS24;soapserver;dxBarRS24;dxSkinMetropolisDarkRS24;FireDACOracleDriver;DBXMySQLDriver;dxPSRichEditControlLnkRS24;DBXFirebirdDriver;dxPScxCommonRS24;FireDACCommonODBC;FireDACCommonDriver;inet;IndyIPCommon;dxSkinVS2010RS24;vcl;dxSkinSharpPlusRS24;dxPSdxDBOCLnkRS24;FireDACDb2Driver;dxThemeRS24;dxSkinOffice2007GreenRS24;dxPScxGridLnkRS24;FireDAC;dxPScxVGridLnkRS24;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;dxSkinOffice2010BlueRS24;dxServerModeRS24;ibxpress;DataSnapServer;ibxbindings;vclwinx;FireDACDSDriver;cxSchedulerRS24;dxPSCoreRS24;dxSkinsdxDLPainterRS24;dxSkinOffice2007BlueRS24;CustomIPTransport;vcldsnap;dxSkinGlassOceansRS24;dxRibbonCustomizationFormRS24;dxPScxSchedulerLnkRS24;dxSkinSummer2008RS24;bindcomp;dxSkinDarkRoomRS24;DBXInformixDriver;dxorgcRS24;dxSkinFoggyRS24;dxSkinOffice2010SilverRS24;dxRichEditControlRS24;dxSkinsdxNavBarPainterRS24;dbxcds;adortl;dxSkinSilverRS24;dxSkinVisualStudio2013DarkRS24;dxComnRS24;cxVerticalGridRS24;dxFlowChartRS24;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;dxGaugeControlRS24;dxSkinLiquidSkyRS24;dxSkinOffice2007SilverRS24;fmxase;$(DCC_UsePackage) 116 | 117 | 118 | DEBUG;$(DCC_Define) 119 | true 120 | false 121 | true 122 | true 123 | true 124 | 125 | 126 | (None) 127 | 1033 128 | false 129 | 130 | 131 | false 132 | RELEASE;$(DCC_Define) 133 | 0 134 | 0 135 | 136 | 137 | 138 | MainSource 139 | 140 | 141 | 142 | Cfg_2 143 | Base 144 | 145 | 146 | Base 147 | 148 | 149 | Cfg_1 150 | Base 151 | 152 | 153 | 154 | Delphi.Personality.12 155 | Application 156 | 157 | 158 | 159 | amqp_unbind.dpr 160 | 161 | 162 | Embarcadero C++Builder Office 2000 Servers Package 163 | Embarcadero C++Builder Office XP Servers Package 164 | Microsoft Office 2000 Sample Automation Server Wrapper Components 165 | Microsoft Office XP Sample Automation Server Wrapper Components 166 | 167 | 168 | 169 | 170 | 171 | true 172 | 173 | 174 | 175 | 176 | true 177 | 178 | 179 | 180 | 181 | true 182 | 183 | 184 | 185 | 186 | true 187 | 188 | 189 | 190 | 191 | amqp_unbind.exe 192 | true 193 | 194 | 195 | 196 | 197 | 0 198 | .dll;.bpl 199 | 200 | 201 | 1 202 | .dylib 203 | 204 | 205 | Contents\MacOS 206 | 1 207 | .dylib 208 | 209 | 210 | 1 211 | .dylib 212 | 213 | 214 | 1 215 | .dylib 216 | 217 | 218 | 219 | 220 | Contents\Resources 221 | 1 222 | 223 | 224 | 225 | 226 | classes 227 | 1 228 | 229 | 230 | 231 | 232 | Contents\MacOS 233 | 0 234 | 235 | 236 | 1 237 | 238 | 239 | Contents\MacOS 240 | 1 241 | 242 | 243 | 244 | 245 | 1 246 | 247 | 248 | 1 249 | 250 | 251 | 1 252 | 253 | 254 | 255 | 256 | res\drawable-xxhdpi 257 | 1 258 | 259 | 260 | 261 | 262 | library\lib\mips 263 | 1 264 | 265 | 266 | 267 | 268 | 1 269 | 270 | 271 | 1 272 | 273 | 274 | 0 275 | 276 | 277 | 1 278 | 279 | 280 | Contents\MacOS 281 | 1 282 | 283 | 284 | library\lib\armeabi-v7a 285 | 1 286 | 287 | 288 | 1 289 | 290 | 291 | 292 | 293 | 0 294 | 295 | 296 | Contents\MacOS 297 | 1 298 | .framework 299 | 300 | 301 | 302 | 303 | 1 304 | 305 | 306 | 1 307 | 308 | 309 | 1 310 | 311 | 312 | 313 | 314 | 1 315 | 316 | 317 | 1 318 | 319 | 320 | 1 321 | 322 | 323 | 324 | 325 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 326 | 1 327 | 328 | 329 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 330 | 1 331 | 332 | 333 | 334 | 335 | 1 336 | 337 | 338 | 1 339 | 340 | 341 | 1 342 | 343 | 344 | 345 | 346 | 1 347 | 348 | 349 | 1 350 | 351 | 352 | 1 353 | 354 | 355 | 356 | 357 | library\lib\armeabi 358 | 1 359 | 360 | 361 | 362 | 363 | 0 364 | 365 | 366 | 1 367 | 368 | 369 | Contents\MacOS 370 | 1 371 | 372 | 373 | 374 | 375 | 1 376 | 377 | 378 | 1 379 | 380 | 381 | 1 382 | 383 | 384 | 385 | 386 | res\drawable-normal 387 | 1 388 | 389 | 390 | 391 | 392 | res\drawable-xhdpi 393 | 1 394 | 395 | 396 | 397 | 398 | res\drawable-large 399 | 1 400 | 401 | 402 | 403 | 404 | 1 405 | 406 | 407 | 1 408 | 409 | 410 | 1 411 | 412 | 413 | 414 | 415 | ..\ 416 | 1 417 | 418 | 419 | ..\ 420 | 1 421 | 422 | 423 | 424 | 425 | res\drawable-hdpi 426 | 1 427 | 428 | 429 | 430 | 431 | library\lib\armeabi-v7a 432 | 1 433 | 434 | 435 | 436 | 437 | Contents 438 | 1 439 | 440 | 441 | 442 | 443 | ..\ 444 | 1 445 | 446 | 447 | 448 | 449 | 1 450 | 451 | 452 | 1 453 | 454 | 455 | 1 456 | 457 | 458 | 459 | 460 | res\values 461 | 1 462 | 463 | 464 | 465 | 466 | res\drawable-small 467 | 1 468 | 469 | 470 | 471 | 472 | res\drawable 473 | 1 474 | 475 | 476 | 477 | 478 | 1 479 | 480 | 481 | 1 482 | 483 | 484 | 1 485 | 486 | 487 | 488 | 489 | 1 490 | 491 | 492 | 493 | 494 | res\drawable 495 | 1 496 | 497 | 498 | 499 | 500 | 0 501 | 502 | 503 | 0 504 | 505 | 506 | Contents\Resources\StartUp\ 507 | 0 508 | 509 | 510 | 0 511 | 512 | 513 | 0 514 | 515 | 516 | 0 517 | 518 | 519 | 520 | 521 | library\lib\armeabi-v7a 522 | 1 523 | 524 | 525 | 526 | 527 | 0 528 | .bpl 529 | 530 | 531 | 1 532 | .dylib 533 | 534 | 535 | Contents\MacOS 536 | 1 537 | .dylib 538 | 539 | 540 | 1 541 | .dylib 542 | 543 | 544 | 1 545 | .dylib 546 | 547 | 548 | 549 | 550 | res\drawable-mdpi 551 | 1 552 | 553 | 554 | 555 | 556 | res\drawable-xlarge 557 | 1 558 | 559 | 560 | 561 | 562 | res\drawable-ldpi 563 | 1 564 | 565 | 566 | 567 | 568 | 1 569 | 570 | 571 | 1 572 | 573 | 574 | 575 | 576 | 577 | 578 | 579 | 580 | 581 | 582 | 583 | 584 | False 585 | False 586 | False 587 | False 588 | False 589 | True 590 | False 591 | 592 | 593 | 12 594 | 595 | 596 | 597 | 598 | 599 | --------------------------------------------------------------------------------