묻고답히기란을 찾다가
SocketConnection을 사용해 클라이언트에서
서버쪽으로 Method를 전송하는 방법이 있다는 것을 알아내었습니다.
그래서 우선 임의로 method가 전달되는지를 확인하기 위해
아래와 같이 코딩을 해 보았습니다.
- Client -
procedure TForm1.Button1Click(Sender: TObject);
begin
SocketConnection1.AppServer.TransMode;
end;
- Server -
procedure TransMode;
begin
//
end;
그런데 이상하게도 실행만 하면 Application Server와
접속이 되어 있을 경우에는
method 'TransMode' not supported by automation object
접속이 되어 있지 않을 경우에는
Variant does not reference an automation object
라는 에러 메세지를 보냅니다.
무엇이 잘 못 된건지 알수가 없네요
어리석은 저에게 명석한 답변 부탁드립니다.
먼저 서버측에서 다음과 같이 메소드를 생성합니다.
// StartTransaction
procedure TCAS.StartTransaction;
begin
if Not DBAS.InTransaction then
DBAS.StartTransaction;
end;
// Commit
procedure TCAS.Commit;
begin
if DBAS.InTransaction then
DBAS.Commit;
end;
// RollBack
procedure TCAS.Rollback;
begin
if DBAS.InTransaction then
DBAS.RollBack;
end;
그런후 클라이언트 측에서
Transaction을 시작할 때 : SocketConnection1.AppServer.StartTransaction;
Commit을 할 때 : SocketConnection1.AppServer.Commit;
Rollback을 할 때 : SocketConnection1.AppServer.Rollback;
형태로 사용하면 됩니다.
그럼 즐포