Webmonkey's Posts
Nairaland Forum › Webmonkey's Profile › Webmonkey's Posts
Thanks everyone for your insight and contribution towards the thread. Management has made their decision based on my recommendation. We are using JAX-WS over XML as data exchange and we will use Servlet to consume the XML. The integration architectural design has been produced. Thanks everyone. @Kobojunkie I am not a programmer. I am a software architect. I understand design pattern and Formal Specification i.e formal method etc |
Who is barring you and why? It is very frustrating that one’s idea is not deliberated and probably encouraged. Whoever is barring should please consider moderating the forum rather than banning potential users that has meaningful suggestion to contribute toward technological achievements. However, cshrpjava1 I am recommending several design architecture in my PID (Project Initiation Document). I hope I will have time to go through all these technologies so that I will have a technical background before I present it to the steering committee meeting that I am adopting this technology. These are the technologies I am considering using: 1. Meridian Tool Kit (Off the Shelve) 2. JAX-WS (Java Web Service) 3. ReST (Representational State Transfer) 4. .NET (C#, VB/VB.NET web service) |
@csharpjava We have not started implementation yet, so as the Chief Architect, I can change the architectural design of the interface to accomodation scalability and interoperatbility. If you believe that C# or VB.NET would be an advantage over Java web service, lets hear from your view(s). |
@logica Thanks for your recommendation. Please, can you point me to a tutorial where spring is defined and used. I want to understand the purpose of Spring framework. You know I am not a programmer by profession. I am a Methematician focusing in differential Calculus. Although, I work for a software company as a Senior Architect and Solution Provider. Embarking into this journey has been fun and poses a lot of challenges. I want to learn this Spring framework over the weekend, please guide me to a tutorial or give a tutorial. |
@Candylips Thanks for the reply. I really appreciate your critique. The tutorial is for learning web service implementation not the actual code that will be implemented to interface into Flexcube. Remember, until last week I did not know anything about web service? The tutorial only runs on command line interface. The actual implementation will be used on Glass Fish (JEE 6) In the project I will use the JNDI interface to connect Database Source using jdbc/_oracle_POOL_Connection. The Application server will manage all that for me. Second, I am not developing a webapp using Spring. Spring is out of the case. An internal process running within the JVM i.e TrxIinterface.jar will be started. The IBM MQ Series Queue will also be started. A Meridian Middleware Tool Kit will be configured to map to the queue interface. In the Meridian where the application will be calling the JEE server interfacing TrxInterface.jar will be registered as a CLASSPATH. To get fields from Flexcube, it will only do this String DESTINATION = org.sun.com.webservice.WebExService.getBalEnguiry(“3299345749579”); MAP(SOURCE, DESTINATION); The TRIGGER you saw was too slow because of database link to a remote database. It ONLY fires on a ROW (TURPLE). Security as I find out was flawed and scalability is poor. Hence the motivation of Web Services. |
Note the TRIGGER interface was build on database link hence the motivation for a web service. You can modify the database link and include the WebExService call within the TRIGGER Although, this part of the work is not necessary for you to do. I am using this as my repository for future work |
CREATE OR REPLACE TRIGGER "FLEXPLUS"."TITB_BAL_REQ2_TRG" AFTER INSERT ON titb_bal_req2 REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW DECLARE V_Ccy Number (3); V_Ccy2 Number (3); V_Reason Varchar2 (100); v_result NUMBER (20); v_count NUMBER (20); v_count2 NUMBER (20); Var_Acct_Type Varchar2 (16); Var_Acct Varchar2 (16); Casa_Acct_Col Number(5):= 16; Gl_Code_Col Number(5):= 9; V_Amount Number (30, 3); V_Codstat Number (10); --V_Ccy Number (3); -- V_Ccy2 Number (3); --V_Reason Varchar2 (100); --V_Result Number (20); --V_Count Number (20); Var_Dr_Int_Accr Number (30, 3); Var_Unclr_Funds Number (30, 3); Var_Err_Msg Varchar2 (100); --Var_Acct Varchar2 (16); isblock Varchar2 (1); BEGIN --l_titb_bal_req2.Enquiry_Identifier := :New.Enquiry_Identifier; /* Insert Into Titb_Bal_Res2 Values (:New.Enquiry_Identifier, 'Y', 'ACCOUNT NO IS EMPTY', 'N', :New.Baof_No, 384938949, 'E'); */ If :New.Baof_No Is Null Or :New.Baof_No In ('', ' ', ' ') Then Insert Into Titb_Bal_Res2 Values (:New.Enquiry_Identifier, 'Y', 'ACCOUNTNO ' || :New.Baof_No ||'VALUE IS EMPTY', 'Y', :New.Baof_No, 0, 'E'); Elsif :New.Ccy_Code Is Null Or :New.Ccy_Code In ('', ' ', ' ') Then Insert Into Titb_Bal_Res2 Values (:New.Enquiry_Identifier, 'Y', 'ACCOUNTNO ' || :New.Baof_No||'CURRENCY IS EMPTY', 'Y', :New.Baof_No, 0, 'E'); Else Var_Acct := Rtrim (Ltrim (:New.Baof_No)); V_Count :=Length(Var_Acct); dbms_output.put_line('gg1' || Var_Acct ); Dbms_Output.Put_Line('gg2' || V_Count ); --If (V_Count >= Or (V_Count <= 12) ThenIf (V_Count = 9)Then --Var_Acct_Type := 'GL'; Var_Acct :=Rpad(Var_Acct ,Gl_Code_Col, ' '); Gl_Handler(:New.Enquiry_Identifier,Var_Acct,:New.Ccy_Code); ----------------------------------------------------------------------- /* Select Count (*) Into V_Count From Gltm_Glmaster@tifcclink Where Gl_Code In (Var_Acct) And Auth_Stat In ('A') And Record_Stat In ('O'); If V_Count = 1 Then Select Block Into isblock From Gltm_Glmaster@tifcclink Where Gl_Code In (Var_Acct) And Auth_Stat In ('A') And Record_Stat In ('O'); If isblock != 'N' Then Insert Into Titb_Bal_Res2 Values (:New.Enquiry_Identifier, 'Y','GL ACCOUNT IS BLOCK','Y', Var_Acct, 0, 'E'); Else Insert Into Titb_Bal_Res2 Values (:New.Enquiry_Identifier, 'Y', 'SUCCESS', 'N',Var_Acct, 0, Null); End If; Else Insert Into Titb_Bal_Res2 Values (:New.Enquiry_Identifier, 'Y','GL ACCOUNT NOT AVAILABLE', 'Y',Var_Acct, 0,'E'); End If; */ ----------------------------------------------------------------------- --Elsif (V_Count >= 13) Or (V_Count <= 16) Then Else Var_Acct :=Rpad(Var_Acct ,Casa_Acct_Col , ' '); Select Count (*) Into v_count2 From Ch_Acct_Mast@Tifcrlink Where Cod_Acct_No In (Var_Acct) And Flg_Mnt_Status In ('A'); dbms_output.put_line('v_count2 :' || v_count2 ); If v_count2 = 1 then -- check retail --Var_Acct_Type := 'CASA'; -- Var_Acct :=Rpad(Var_Acct ,Casa_Acct_Col , ' '); --Var_Acct :='0010010006957 '; Casa_Handler(:New.Enquiry_Identifier,Var_Acct,:New.Ccy_Code); else -- else check corporate -- Var_Acct := RTRIM(Var_Acct); --Var_Acct_Type := 'CASA'; -- Var_Acct :=Rpad(Var_Acct ,Casa_Acct_Col , ' '); --Var_Acct :='0010010006957 '; fcc_Handler(:New.Enquiry_Identifier,Var_Acct,:New.Ccy_Code); --CASA_HANDLER(:New.Enquiry_Identifier,Var_Acct,:New.Ccy_Code); end if; End If; End If; Exception When Others Then v_reason := '' || SQLERRM; dbms_output.put_line(v_reason); Insert Into Titb_Bal_Res2 Values (:New.Enquiry_Identifier, 'Y', V_Reason, 'Y', :New.Baof_No, 0, 'E'); END; / ALTER TRIGGER "TIPLUS"."TITB_BAL_REQ2_TRG" ENABLE; CREATE OR REPLACE TRIGGER "TIPLUS"."TITB_LIMIT_TRG" AFTER INSERT ON titb_limit_check REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW DECLARE ucount NUMBER (10) := 0; custid VARCHAR2 (20) := ''; v_reason VARCHAR2 (100) := ''; lmtmrecord lmtm_limits@tifcclink%ROWTYPE; BEGIN SELECT COUNT (*) INTO ucount FROM lmtm_limits@tifcclink a WHERE a.liab_id IN (:NEW.cust_id) AND a.record_stat = 'O' AND a.auth_stat = 'A' AND a.availability_flag = 'Y'; IF ucount = 1 THEN SELECT COUNT (*) INTO ucount FROM lmtm_limits@tifcclink a WHERE a.liab_id IN (:NEW.cust_id) AND a.line_currency IN (:NEW.ccy_cd) --AND a.ccy_restriction NOT IN ('Y') AND a.record_stat = 'O' AND a.auth_stat = 'A' AND a.availability_flag = 'Y'; IF ucount = 1 THEN SELECT a.* INTO lmtmrecord FROM lmtm_limits@tifcclink a WHERE a.liab_id IN (:NEW.cust_id) AND a.record_stat = 'O' AND a.auth_stat = 'A' AND a.availability_flag = 'Y'; INSERT INTO titb_lim_cactus VALUES (:NEW.branch_code, :NEW.masevt, :NEW.cust_id, :NEW.atp, lmtmrecord.line_currency, '', 'NG', '', '', '', lmtmrecord.line_currency, 0, lmtmrecord.limit_amount, lmtmrecord.available_amount, 'N', 'N', 'N'); INSERT INTO titb_lim_strcus VALUES (:NEW.branch_code, :NEW.masevt, :NEW.cust_id, :NEW.atp, :NEW.ccy_cd, '', 'NG', 'NG', '', '', 'CUSTNO ' || :NEW.cust_id||' HAS A LIMIT', '', '', lmtmrecord.line_expiry_date, :NEW.ccy_cd, lmtmrecord.available_amount, 'N', 'Y'); INSERT INTO titb_llptres VALUES (:NEW.enq_id, :NEW.branch_code, :NEW.masevt, :NEW.cust_id, :NEW.atp, :NEW.ccy_cd, :NEW.amount, 'N', 'Y', '', '', 'N'); ELSE INSERT INTO titb_lim_cactus VALUES (:NEW.branch_code, :NEW.masevt, :NEW.cust_id, :NEW.atp, lmtmrecord.line_currency, '', 'NG', '', '', '', lmtmrecord.line_currency, 0, 0, 0, 'N', 'N', 'N'); INSERT INTO titb_lim_strcus VALUES (:NEW.branch_code, :NEW.masevt, :NEW.cust_id, :NEW.atp, lmtmrecord.line_currency, '', 'NG', 'NG', '', '', 'CUSTNO ' || :NEW.cust_id||' HAS LIMIT,BUT THE REQUEST CURRENCY IS DIFFERENT FROM THE HOST CURRENCY', '', '',lmtmrecord.line_expiry_date, lmtmrecord.line_currency, lmtmrecord.available_amount, 'N', 'Y'); INSERT INTO titb_llptres VALUES (:NEW.enq_id, :NEW.branch_code, :NEW.masevt, :NEW.cust_id, :NEW.atp, lmtmrecord.line_currency, :NEW.amount, 'N', 'Y', '', '', 'N'); END IF; ELSE INSERT INTO titb_lim_cactus VALUES (:NEW.branch_code, :NEW.masevt, :NEW.cust_id, :NEW.atp, :NEW.ccy_cd, '', 'NG', '', '', '', :NEW.ccy_cd, 0, 0, 0, 'N', 'N', 'N'); INSERT INTO titb_lim_strcus VALUES (:NEW.branch_code, :NEW.masevt, :NEW.cust_id, :NEW.atp, :NEW.ccy_cd, '', 'NG', 'NG', '', '', 'LIMIT FOR CUSTNO ' || :NEW.cust_id||' IS NOT AVAILABLE', '', '', NULL, :NEW.ccy_cd, 0, 'N', 'Y'); INSERT INTO titb_llptres VALUES (:NEW.enq_id, :NEW.branch_code, :NEW.masevt, :NEW.cust_id, :NEW.atp, :NEW.ccy_cd, :NEW.amount, 'N', 'Y', '', '', 'N'); END IF; EXCEPTION WHEN OTHERS THEN v_reason := '' || SQLERRM; INSERT INTO titb_lim_cactus VALUES (:NEW.branch_code, :NEW.masevt, :NEW.cust_id, :NEW.atp, :NEW.ccy_cd, '', 'NG', '', '', '', :NEW.ccy_cd, 0, 0, 0, 'N', 'N', 'N'); INSERT INTO titb_lim_strcus VALUES (:NEW.branch_code, :NEW.masevt, :NEW.cust_id, :NEW.atp, :NEW.ccy_cd, '', 'NG', 'NG', '', '', 'EXCEPTION OCCURED :' || v_reason, '', '', NULL, :NEW.ccy_cd, 0, 'N', 'Y'); INSERT INTO titb_llptres VALUES (:NEW.enq_id, :NEW.branch_code, :NEW.masevt, :NEW.cust_id, :NEW.atp, :NEW.ccy_cd, :NEW.amount, 'N', 'Y', '', '', 'N'); END; / ALTER TRIGGER "FLEXPLUS"."TITB_LIMIT_TRG" ENABLE; |
Creating POJO that will communicate Oracle /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package org.com.sun.webservice.dao; import java.sql.*; /** * * @author Dalan Quaice */ public class DatabaseCon { private Connection con; private ResultSet rs; private PreparedStatement psmt; private String url; public Connection getConnection(){ try{ DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver()); url = "jdbc.oracle.thin@localhost:1521:FLEXCUBE"; con = DriverManager. getConnection(url, "webservice", "webservice" ;}catch (SQLException e){ } return con; }//End getConnection public String getLimitCheck (String id) throws SQLException{ String theTitle = null; String query = "SELECT * from GZH971 where SYSTEM_ID=?"; psmt = getConnection().prepareStatement(query); psmt.setString(1, id); psmt.executeUpdate(); rs = psmt.executeQuery(); while (rs.next()){ theTitle = rs.getString("SCV321" ;} return theTitle; }//End getLimitCheck public String getBalEnquiry (String id) throws SQLException{ String name = null; String query = "SELECT * from GZH971 where SYSTEM_ID=?"; psmt = getConnection().prepareStatement(query); psmt.setString(1,id); psmt.executeUpdate(); rs = psmt.executeQuery(); while (rs.next()){ name = rs.getString("SCPF2" ;} return name; }//End getBalEnquiry public String getBalance (String id) throws SQLException{ String name = null; String query = "SELECT * from GZH971 where SYSTEM_ID=?"; psmt = getConnection().prepareStatement(query); psmt.setString(1, id); psmt.executeUpdate(); rs = psmt.executeQuery(); while (rs.next()){ name = rs.getString("PFDS34" ;} return name; }//End getBalance public String getTransactionPosting (String id) throws SQLException{ String name = null; String query = "SELECT * from GZH971 where SYSTEM_ID=?"; psmt = getConnection().prepareStatement(query); psmt.setString(1, id); psmt.executeUpdate(); rs = psmt.executeQuery(); while (rs.next()){ name = rs.getString("H3H" ;} return name; }//End getTransactionPosting } |
You may correct any part of this tutorial. Note, this code were not compiled and as such requires your debuging to get it to work. |
package com.sun.org.webservices.client; import javax.xml.ws.*; import javax.jws.*; import com.sun.org.webservices.WebExService; public class WeExServiceClient{ public static void main(String[] args) { try{ @WebServiceRef(wsdlLocation="http://136.148.2.14:8080/WebService/WebExService?wsdl”) static WebExService service; double result; WebExServer port = service.getWebExServerPort(); result = port.getBalEnquiry("0083347781737701" ; //0083347781737701 is account numberSystem.out.println(result); }catch(java.lang.Exception e ){ e.printStackTrace(); }//End exception } |
Creating a Client that will consume the Endpoints To create client that will consume the web service we created, we need to bear couple of things in mind. If our client is going to stay remotely from our endpoints i.e. different JVM or Machine with different physical network address. Such that our web service is in Ghana and our client trying to access the endpoints is in Nigeria. We will need the web service endpoint to have a public IP (Internet Protocol) hence, rather to http://localhost:8080/WebService/WebExService we will have http://136.148.2.14:8080/WebService/WebExService This way our client stubs generated by c:\>wsgen –cp . com.sun.org.webservices.WebExService will communicate with the http://136.148.2.14:8080/WebService/WebExService?wsdl |
That's it. When you run the application, the Java SE 6 platform has a small web application server that will publish the web service at the address http://localhost:8080/WebService/WebExService while the JVM is running.* You can verify that the web service is running by displaying the Web Services Definition Language (WSDL) file of the WebExService web service.While the JVM is still running, open a browser and go to the following location: http://localhost:8080/WebService/WebExSerice?WSDL If you see a large amount of XML that describes the functionality behind the web service, then the deployment has been successful. |
You can use the static publish() method of the javax.xml.ws.Endpoint class to publish the class as a web service in the specified context root: package com.sun.org.webservices; import javax.xml.ws.Endpoint; public class WeExServiceEndpoint{ public static void main(String[] args) { Endpoint.publish( "http://localhost:8080/WebService/WebExService", new WebExService()); } Now, compile the source code normally using javac. However, you must perform one more step: Call the Wsgen tool, as follows. c:\>wsgen –cp . com.sun.org.webservices.WebExService The Wsgen tool will generate a number of source files in a subdirectory called wsgen, which it then compiles. Although you should never have to edit these files, you can browse these source code files to get an idea of how JAX-WS 2.0 creates the appropriate stub files for use while publishing the web service. Note that the original source files must be located in a package when you call the Wsgen tool. Otherwise, you may get an error that dictates that classes annotated with @WebService, such as WebExService, must declare a separate javax.jws.Webservice.targetNamespace element because the source files are not part of a package. |
Define the Service Endpoints to be published by your web services package com.sun.org.webservices; import javax.jws.WebService; import org.com.sun.webservice.dao; @WebService public class WebExService { @WebMethod public double getBalance(String customer_id) { return Double.ValueOf(getBalance()).doubleValue(); } @WebMethod public double getLimitCheck(String customer_id) { return Double.ValueOf(getLimitCheck()).doubleValue(); } @WebMethod public double getBalEquiry(String customer_id) { return Double.ValueOf(getBalEnquiry()).doubleValue(); } }//End WebExService To export these methods, you must add two things: an import statement for the javax.jws.WebService package and a @WebService annotation at the beginning that tells the Java interpreter that you intend to publish the methods of this class as a web service and @WebMethod |
Introducing JAX-WS 2.0 With the Java SE 6 Platform, Part 1 JAX-WS 2.0 pronounced (Jaz Waz) is extremely good framework used for developing a Web services. JAX-WS is the industry standard for developing RMI/RCP. It is better than Microsoft .COM, OCX, DLL and etc. This is my findings. You can correct me on this. To develop and use JAX-WS we will need the following installed in our systems. 1. Web Server (J2ee 1.6, JBoss 6.0) 2. Java (J2SE 1.6) 3. Netbeans IDE 6.8 (Optional) 4. Oracle (For this tutorial) |
I could have used [url=http://www.google.com.ng/search?hl=en&source=hp&biw=1020&bih=562&q=define%3A+database+link&aq=o&aqi=&aql=&oq=”]database link[/url] to do the job. But it is too slow for scalability. |
Thanks all for your guide and advice. Over the weekend I was going through Java tutorial from Oracle web site I can comfortably say that I am getting hang of Java. At least I understand Java Web Services. Although, many people here prefer JMS or SOAP messing using XML binding. But my motivation is not about asynchronous queuing systems for my RMI/RPC (Remote Method Invocation/Remote Procedural Call). I am interested in getting a remote object method that otherwise will be difficult to get that implement a local interface. The interface holds a reference to the underlying database i.e Oracle. In my application I am using third party software called IBM MQ Series Queue for my queue messages to the Core systems (Flexcube). The queue listens to my database Trigger on INSERT ON A TABLE. The queue is tie to that table interface. |
@Seun, please can you email sbucareer to come back. We need him to continue this thread if it is possible? However, can you follow me here for web services using java. Although, I am learning java it will be a good place to start |
Thanks. I am a java developer and would appreciate any help on java web services. I just want a general tutorial on how to connect to oracle database (Flexcube) and return a table object and select a turple and get the cust_id and manipulate the object. I would really appreciate your help. I have Netbeans and JEE tutorial but are not sufficient for my understanding. It only return Hellow World. I need to know how to deploy the services and how to connect to them. Would I need a server like Tomcat to WSDL. If so, I want to do it on Microsoft VB or C# where I will just generate .dll and deploy it with regsvr32 and call the OCX from my application. I still need help of Microsoft VB or C# |
Can anyone help take me through on how to develop a webservice using either Java, VB or C#. The web service will connect to a remote Oracle database. The motivation for this is that I am developing a banking application and the application will be domicile in Nigeria but application will need to connect to other regional branches database for posting, account checks, balance enquiry and limit checks. However, I have no clue on Web service. I have search the internet for tutorials but no good source found. I know that there are good programmers here like Sbucareer and etc. Please, try and guide me. Thanks in advance. |
I would want to find out more about this company Qrios before making application to work for them. Please, if anyone has vital information as to regards to their coroperate governance, image outlook, employees working conditions and long time growth, I will appreciate the advise. |
I have a strategy that can return 3% monthly for any amount invested. 3X12=36% a year. No bank in this world would give you such a return. My trading platform uses a ROBOT that I have design to execute strategy that uses Margingale and Edging theory. Basically, it says "Whatever goes up must come down". Based on this principle, I was able to formulate a strategy that only takes profit whether the indicator goes up or down If you are interested email me [email=dalan.quaice@googlemail.com?sbuject:Trading+FX]Webmonkey[/email] |
Listen, why do you want someone to teach you programming? This is not a tea party. It is a professional career you are embarking. Some self motivation must be available. All you need to learn about any programming language is how to: 1. Define variable 2. Initialize variable 3. Define Object variable 4. Manipulate variable (Local and Global variable) 5. Loops (for, switch, while, do, each, eachFor, etc.) 6. Reference and pointer (char* sex, &sex) 7. Logic construct (The way your brain thinks) 8. Develop something (Calculator, interest calculator, etc) Visit [url=http://myweb1.lsbu.ac.uk/~fintan/]here[/url] for Java enthusiast |
Do you know why you should learn ASP.NET or Java? The honest truth is that you would probably end up as an employee of an organisation supporting their systems or at best a consultant. Most of these organisations uses Microsoft product i.e. Window Server 2003/7 and Desktop Vista Professional or Window7 or at worst Unix as servers runing Solaris as Desktop Enterprise. You can NEVER see PHP operating system to support. Most of the software organisation uses, are subject to their compatibility with their environment, hence window or solaris application. Vendors, knows this and write application to accommodate these trends. Look at these sites, if you live in Nigeria as an IT professional and still seeking for jobs. These are the application you should research and learn. ECM, Trade Application and Treasury for Banking, Microsoft ECM, InfoRouter, ECM, ERP, CRM |
Donpuzo: No Offense but BEAF is very S.T.U.P.ee.D,Yes, I agree with you. But when it comes to enterprise solution provider, PHP fails the test miserably. Java and all it related technologies i.e. JSP, SOAP, JAXP, JSF, Servlet etc. are there for a reason. Developing a solution for a financial institution, like International Trade Application that would communicate with Treasury department for the current FX (Foreign Exchange) for a deal of LC (Letter of Credit) to import rice worth $1.73 Billion. The LC must be opened in Nigeria for a company say (Dangote for example) NGN259,999,999,950. This is the actual Naira value for $1.73Billion FX of NGN150 per Dollar. I cannot imagine a bank that would want to expose all this liquidity to a single trade. What they would do it syndicate with two or three other banks. Now, to develop this type of application PHP will fail miserably. J2EE or .NET will be the best framework to use. You need a lot of Message passing i.e. JMS for Java, .COM++ for .NET. You would need a good Object oriented approach for encapsulating your Object and efficient way of coupling these objects. Like .DLL or .JAR. You would need a web portal written in DHTML/JSF/JSP/Servlet/XML/ASP.NET etc, you would also need a way to wrap these web objects in manageable objects that could communicate with the RDMS with little memory heap. Bottom line, PHP is a very good tool for developing database web driven application. But not a good transaction database web driven application. |
Home Help Search Profile Who's On Rules Logout |
I am learning to write C/C++ particularly C. I want to understand the purpose of pointers and addressing in C language. I need to ground my understanding with this basic fundamental. Also, I particularly want to learn .COM using C/C++/C#. Motivation --------------- I am learning to interface legacy systems using C by writing .COM++ that would produce a .dll that would be deployed on a computer and connect to another computer and pass messages to/from. |
Or (V_Count <= 12) Then
;