Q&A

  • Bde포함에도 불구하고 Ebde에러가 발생합니다....
제가 시디관리용 프로그램을 만들었는데 인스톨익스프레스로 만들어도 ebde에러가

나서 4일동안 여러가지 방법을 해본결과 실패하여 결국에는 이렇게 올려봅니다.

제 컴에서 실행되는데 다른곳에서는 실행이 안됩니다.

테이블은 동적으로 생성을 합니다. 알리아스도 없으면 동적으로 생성하게 되어있습니다.

무엇이 문제인지 도저히 모르겠습니다.

소스에 문제가 있는것인지 제가 익스프레스에서 잘못설정을 한것인지 잘모르겠습니다.

익스프레스에서는 알리아스명에 vcd라고 넣었고(하나만), 패스는 Data

디라이버는 파라독스를 선택하였습니다.





밑에는 제 소스입니다. 전제 소스화일을 같이 동봉합니다.



================================================================================

unit uMainF;



interface



uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls, Grids, DBGrids, Db, DBTables, ExtCtrls, Buttons, ComCtrls, Registry,

FileCtrl, Menus, DBCtrls, Mask, Qrctrls;



const AliasName = 'Vcd';



type

TForm1 = class(TForm)

Panel1: TPanel;

Panel2: TPanel;

PageControl1: TPageControl;

TabSheet1: TTabSheet;

Panel3: TPanel;

CodeEd: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

ComboBox1: TComboBox;

NameEd: TEdit;

ActEd: TEdit;

ContryEd: TEdit;

Panel4: TPanel;

BitBtn3: TBitBtn;

BitBtn2: TBitBtn;

BitBtn1: TBitBtn;

Panel5: TPanel;

DBGrid1: TDBGrid;

Ds_Vcd: TDataSource;

Qr_Vcd: TQuery;

Label6: TLabel;

MemoEd: TEdit;

TabSheet2: TTabSheet;

Panel6: TPanel;

Panel7: TPanel;

BitBtn4: TBitBtn;

Panel8: TPanel;

DBGrid2: TDBGrid;

GroupBox1: TGroupBox;

Rbtn1: TRadioButton;

Rbtn2: TRadioButton;

Rbtn3: TRadioButton;

Panel9: TPanel;

Label7: TLabel;

Edit2: TEdit;

BitBtn5: TBitBtn;

BitBtn6: TBitBtn;

Ds_Serch: TDataSource;

Qr_Serch: TQuery;

BitBtn7: TBitBtn;

Panel10: TPanel;

SpeedButton1: TSpeedButton;

Rbtn4: TRadioButton;

procedure BitBtn4Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure FormShow(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure FormDestroy(Sender: TObject);

procedure CodeEdEnter(Sender: TObject);

procedure CodeEdExit(Sender: TObject);

procedure CodeEdKeyDown(Sender: TObject; var Key: Word;

Shift: TShiftState);

procedure BitBtn7Click(Sender: TObject);

procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;

DataCol: Integer; Column: TColumn; State: TGridDrawState);

procedure BitBtn6Click(Sender: TObject);

procedure CodeEdChange(Sender: TObject);

procedure BitBtn5Click(Sender: TObject);

procedure DBGrid1CellClick(Column: TColumn);

procedure SpeedButton1Click(Sender: TObject);

private

procedure Get_Code_Data(sCustomCode:String);

procedure ComPonentClear;

{ Private declarations }

public

{ Public declarations }

end;



var

Form1: TForm1;



implementation



{$R *.DFM}



procedure TForm1.FormCreate(Sender: TObject);

var SList:TStringList;

nLoop:Word; // For Loop 에서 사용.

bValue:Boolean; // 참,거짓을 저장한 후 필요시 사용.

ExecDir:String; // 현재 PathName

begin

Initialize(SList); //초기화

// ---------------------------------------------------------------------------

// Alias 이름이 있는지를 검색한다.

// ---------------------------------------------------------------------------

bValue := False; // Alias가 없는 것으로 초기화...

ExecDir := ExtractFilePath(Application.ExeName);

{$I-} //File I/O Checking OFF

// 앞으로 Table을 생성할 장소

if Not DirectoryExists('Data') then MkDir('DATA');

// Session을 쓰기 위해서는 Uses 문에 DBTables을 포함해야 한다.

try

SList := TStringList.Create;

Session.GetAliasNames(SList); //현재 PC의 모든 Alias Name 을 가져오기

if SList.Count < 1 then bValue := False // Alias가 없을시

else

begin

for nLoop := 0 to SList.Count - 1 do // Loop를 수행하면서 'Vcd' Alias 이름 검색.

if Trim(SList.Strings[nLoop]) = AliasName then

begin

bValue := True;

break; // For Loop 탈출

end;

end;

finally

SList.Free; // 메모리 해제...

end; // Alias 이름 검색 완료...



// ---------------------------------------------------------------------------

// bValue 가 False 이면 Alias 이름을 생성한다.

// ---------------------------------------------------------------------------

if Not bValue then

begin

try

SList := TStringList.Create;

SList.Add('TYPE=STANDARD');

SList.Add('PATH='+EXECDIR+'DATA');

SList.Add('ENABLE BCD=FALSE');

SList.Add('DEFAULT DRIVER=PARADOX');

Session.AddAlias(AliasName,'PARADOX',SList); // Alias 추가

Session.SaveConfigFile; // Alias 저장.

finally

SList.Free; // 메모리 해제

end; // Try End

end; // Not bValue End

end; //End Procedure







procedure TForm1.FormShow(Sender: TObject);

var FIniFile:TRegIniFile;

Regist:TRegistry;

Section,Key,sPName:string;

a,b:Dword;

sRSV:TStrings;

Q1 : TQuery;

begin

//Registry 읽고 쓰기

sRSV := TStringList.Create;

Key := ''; sRSV.Clear;

Regist := TRegistry.Create;

Regist.RootKey := HKEY_CURRENT_USER;

FiniFile := TRegIniFile.Create('Tapeguy');

Section := 'DELPHI';

//Registry에 Vcd,DELPHI를 읽는다.

FiniFile.ReadSectionValues(Section,sRSV);

if sRSV.Count = 0 then // 없으면 프로그램이름을 입력받아 Registry에 저장한다.

begin

sPName := 'VCD 관리프로그램';

FiniFile.WriteString(Section,Section,sPName);

Caption := sPName;

end

else // 있으면 Form의 Caption을 저장된것으로 한다.

Begin

//ShowMessage(sRSV[0]);

a := Pos('=',sRSV[0]); b := Length(sRSV[0]);

Caption := Copy(sRSV[0],a+1,b-a);

end;

Key := FiniFile.FileName;

sRSV.Free;

FiniFile.Free;

Regist.Free;





//////////////////////////////////////////////////////////

// 테이블 및 인덱스 생성

///////////////////////////////////////////////////////////

// Primary Index File 및 관련 Index File 삭제하기

If FileExists(extractFilePath(Application.ExeName) + 'DataVcd.DB' ) then exit

else

begin

if FileExists(ExtractFilePath(Application.ExeName)+'DataVcd.PX') then

begin

DeleteFile(ExtractFilePath(Application.ExeName)+'DataVcd.PX');

DeleteFile(ExtractFilePath(Application.ExeName)+'DataVcd.XG0');

DeleteFile(ExtractFilePath(Application.ExeName)+'DataVcd.YG0');

end; // Custom Table Create 하기

Q1 := TQuery.Create(Self);

Q1.DataBaseName := AliasName;

Q1.Sql.Clear;

Q1.Sql.Add('Create Table "Vcd.DB" ');

Q1.Sql.Add(' ( ');

Q1.Sql.Add(' Id AutoInc, '); // 자동증가

Q1.Sql.Add(' Code VarChar(4), '); // 비디오 코드

Q1.Sql.Add(' Name VarChar(40), '); // 비디오 이름

Q1.Sql.Add(' Act VarChar(20), '); // 배우이름

Q1.Sql.Add(' Contry VarChar(10), '); // 국가

Q1.Sql.Add(' Taste VarChar(20), '); // 성향분류

Q1.Sql.Add(' Memo VarChar(60), '); // 메모

Q1.Sql.Add(' Primary Key(Id)');

Q1.Sql.Add(' ) ');

try

Q1.ExecSql;

Except

Application.MessageBox('Table 생성도중 Error 발생!!!',

'알림',mb_ok+mb_IconInformation);

Q1.Close;Q1.Free;Exit;

end;

Q1.Close;



// Index File Create 하기

Q1.Sql.Clear;

Q1.Sql.Add(' create Index VcdX1 On "VCD.DB"(Code,Name)') ;

try

Q1.ExecSql;

except

DeleteFile(ExtractFilePath(Application.ExeName)+'DataVcd.DB');

DeleteFile(ExtractFilePath(Application.ExeName)+'DataVcd.PX');

Application.MessageBox('Table Index 생성도중 Error 발생!!!',

'알림',mb_ok+mb_IconInformation);

Q1.Close;Q1.Free;Exit;

end; //try end

end; // if begin

ActiveControl := CodeEd;

end;



procedure TForm1.ComPonentClear;

var wCc : word;

begin

for wCc := 1 to ComponentCount -1 do

if Components[wCc] is TEdit then TEdit(Components[wCc]).Text := ''

else if Components[wCc] is TComboBox then TComboBox(Components[wCc]).Text := '선택하세요';

end;



procedure TForm1.Get_Code_Data(sCustomCode:String);

var

Q1 : TQuery;

begin

Q1 := TQuery.Create(Self);

Q1.DataBaseName := AliasName;

Q1.Sql.Clear;

Q1.Sql.Add('Select * From Vcd Where Code = '''+sCustomCode+'''');

Q1.Open;



NameEd.Text := Q1.FieldByName('Name').AsString; //비디오 명

ActEd.Text := Q1.FieldByName('Act').AsString; //주연배우

ContryEd.Text := Q1.FieldByName('Contry').AsString; //국가

ComBobox1.Text := Q1.FieldByName('Taste').AsString; //성향분류

MemoEd.Text := Q1.FieldByName('Memo').AsString; //메모

Q1.Close;

Q1.Free;

end;





procedure TForm1.BitBtn4Click(Sender: TObject);

begin // 페이지 컨트롤2 종료번튼

Close;

end;







procedure TForm1.BitBtn1Click(Sender: TObject);

var ////// 페이지 컨트롤1 의 저장버튼 /////

Q1 : TQuery;

sSql : String;

begin

sSql := ' Insert into Vcd (Code,Name,Act,Contry,Taste,Memo)'+

' Values ('+

Format('''%s''', [Trim(CodeEd.Text)]) +

Format(',''%s''',[Trim(NameEd.Text)]) +

Format(',''%s''',[Trim(ActEd.Text)]) +

Format(',''%s''',[Trim(ContryEd.Text)]) +

Format(',''%s''',[Trim(ComboBox1.Items[ComboBox1.ItemIndex])]) +

Format(',''%s''',[Trim(MemoEd.Text)]) +

')';

Q1 := TQuery.Create(Self);

Q1.DatabaseName := AliasName;

Q1.Sql.Clear;

try

Q1.sql.Add(sSql);

Q1.ExecSql;

except

Q1.Close;

Application.MessageBox('저장도중에러발생',

'알림', mb_ok+Mb_IconInformation);

Q1.Free; Exit;

end; // try

Q1.Close;

Q1.Free;

Qr_Vcd.Close;

Qr_Vcd.Open;

Qr_Serch.Close;

Qr_Serch.Open;

ComponentClear;

ActiveControl := CodeEd;

end;



procedure TForm1.BitBtn2Click(Sender: TObject);

var ////////// 페이지컨트롤1 삭제버튼 클릭시//////////

Q1 : TQuery;

sSql : String;

begin

Q1 := TQuery.Create(Self);

Q1.DatabaseName := AliasName;

Q1.Sql.Clear;

if Application.MessageBox('정말 삭제 하시겠습니까?',

'삭제확인',Mb_YesNo+Mb_IconQuestion) <> idYes then Exit;



sSql:=' Delete From Vcd '+

Format(' Where Code = ''%s''',[Trim(CodeEd.Text)]);

Q1.Sql.Add(sSql);

try

Q1.ExecSql;

except

Q1.Close; Q1.Free;

Application.MessageBox('삭제 도중에러발생!!',

'알림', mb_ok+Mb_IconInformation);

Exit;

end;

Q1.Close;

Q1.Free;

Qr_Vcd.Close;

Qr_Vcd.Open;

Qr_Serch.Close;

Qr_Serch.Open;

ComponentClear;

ActiveControl := CodeEd;

end;



procedure TForm1.BitBtn3Click(Sender: TObject);

begin

Close;

end;



procedure TForm1.FormDestroy(Sender: TObject);

begin

Form1 := Nil;

end;



procedure TForm1.CodeEdEnter(Sender: TObject);

begin

if Sender is TEdit then TEdit(Sender).Color := clYellow;

end;



procedure TForm1.CodeEdExit(Sender: TObject);

var

Q1 : TQuery;

sSql : String;

begin

if Sender is TEdit then TEdit(Sender).Color := clwindow;

{ Q1 := TQuery.Create(Self);

Q1.Databasename := AliasName;

Q1.Sql.Clear;

sSql := 'Select Code From Vcd';

Q1.Sql.Add(sSql);

Q1.Close;

Q1.Open;

with Q1 do

begin

While not EOF do

Q1.First;

if Q1.Locate( 'Code', CodeEd.Text, [LocaseInsenSitive] ) = True then

begin

MessageDlg('중복된 Vcd코드입니다. 다시 입력하세요.',mtWarning,[mbok],0);

CodeEd.Clear;

CodeEd.SetFocus;

end;

end;

Q1.Close;

Q1.Free; }

end;





procedure TForm1.CodeEdKeyDown(Sender: TObject; var Key: Word;

Shift: TShiftState);

begin

if Key = vk_Return then SelectNext(TwinControl(Sender),True,True);

end;



procedure TForm1.BitBtn7Click(Sender: TObject);

var // 수정버튼 클릭시

Q1 : TQuery;

sSql : String;

begin

Q1 := TQuery.Create(Self);

Q1.DatabaseName := AliasName;

Q1.Close;

Q1.Sql.Clear;

sSql := ' Update Vcd set ' +

Format(' Code = ''%s''', [Trim(CodeEd.Text)]) +

Format(',Name = ''%s''', [Trim(NameEd.Text)]) +

Format(',Act = ''%s''', [Trim(ActEd.Text)]) +

Format(',Contry = ''%s''', [Trim(ContryEd.Text)]) +

Format(',Taste = ''%s''', [Trim(ComboBox1.Items[ComboBox1.ItemIndex])]) +

Format(',Memo = ''%s''', [Trim(MemoEd.Text)]) +

Format(' Where Code = ''%s''',[Trim(CodeEd.Text)]);

try

Q1.Sql.Add(sSql);

Q1.ExecSql;

except

Q1.Close;

Application.MessageBox('Table 수정도중 Error 발생!!!','오류',

mb_ok+mb_IconInformation);

Q1.Free; exit;

end;

Q1.Close;

Q1.Free;

Qr_Vcd.Close;//등록된 자료 Refresh

Qr_Vcd.Open;

Qr_Serch.Close;

Qr_Serch.Open;

ComponentClear;

ActiveControl := CodeEd;

end;





procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;

DataCol: Integer; Column: TColumn; State: TGridDrawState);

begin

//색상제어

Case (DataCol Mod 4) of

0: Column.Color := $80000018; // clInfobk

1: Column.Color := $00FFFBF0; // clSkyblue

2: Column.Color := $00A6CAF0; // clCream

3: Column.Color := $00C0DCC0; // clMoneyGreen

end;

end;









procedure TForm1.BitBtn6Click(Sender: TObject);

var // 페이지 컨트롤2의 조회버튼 클릭시

sSql : String;

Q1 : TQuery;

begin

Q1 := TQuery.Create(Self);

Q1.DatabaseName := AliasName;

Q1.Sql.Clear;



if (Rbtn1.Checked = False) and (Rbtn2.Checked = False) and (Rbtn3.Checked = False) and (Rbtn4.Checked = False) then

begin

ShowMessage(' 검색조건을 선택하세요! ');

exit;

end

else if Rbtn1.Checked then

sSql := 'select * from Vcd where Name = '''+Edit2.Text+''''

else if Rbtn2.Checked then

sSql := 'select * from Vcd where Act = '''+Edit2.Text+''''

else if Rbtn3.Checked then

sSql := 'select * from Vcd where Taste = '''+Edit2.Text+''''

else if Rbtn4.Checked then

sSql := 'select * from Vcd where Contry = '''+Edit2.Text+'''';

Qr_Serch.Sql.Clear;

Qr_Serch.Sql.Add(sSql);

Qr_Serch.Open;

ComponentClear;

ActiveControl := Edit2;

end;



procedure TForm1.CodeEdChange(Sender: TObject);

begin

if Sender = CodeEd then

Get_Code_Data(Trim(CodeEd.Text));

end;





procedure TForm1.BitBtn5Click(Sender: TObject);

var

t1, t2: tTable; {t1 = PW table; t2 = ASCII version}

begin

t1 := tTable.create(self);

with t1 do begin

DataBaseName := AliasName;

tableName := 'Vcd.db';

open;

end;

t2 := tTable.create(self);

with t2 do begin

if not DirectoryExists('SaveTxt') then MkDir('SaveTxt');

DataBaseName := 'C:';;

tableName := 'Vcd_Index.txt';

TableType := ttASCII;



createTable;

open;

edit;

BatchMove(t1, batCopy);

close;

end;

t1.close;

end;



procedure TForm1.DBGrid1CellClick(Column: TColumn);

begin

if Qr_Vcd.FieldByName('Code').AsString <> '' then

CodeEd.Text := Qr_Vcd.FieldByName('Code').AsString;

if Qr_Vcd.FieldByName('Name').AsString <> '' then

NameEd.Text := Qr_Vcd.FieldByName('Name').AsString;

if Qr_Vcd.FieldByName('Act').AsString <> '' then

ActEd.Text := Qr_Vcd.FieldByName('Contry').AsString;

if Qr_Vcd.FieldByName('Contry').AsString <> '' then

ContryEd.Text := Qr_Vcd.FieldByName('Contry').AsString;

if Qr_Vcd.FieldByName('Taste').AsString <> '' then

ComboBox1.Text := Qr_Vcd.FieldByName('Taste').AsString;

if Qr_Vcd.FieldByName('Memo').AsString <> '' then

MemoEd.Text := Qr_Vcd.FieldByName('Memo').AsString;

ActiveControl := CodeEd;

end;



procedure TForm1.SpeedButton1Click(Sender: TObject);

Var

A : String;

begin

A := InputBox('항목추가','추가할 항목을 써주세요','');

if a = '' then Exit

else

ComboBox1.Items.Add(A);

end;

end.

2  COMMENTS
  • Profile
    yosul 2001.01.02 23:26
    BDE의 에러내용을 알고싶습니다!

    수고스럽겠지만 알려 주시겠습니까?

  • Profile
    박진수 2001.01.03 13:39
    yosul님 신경써 주셔서 감사합니다. 에러의 원인을 찾았습니다.



    제가 너무 사소한것을 간과하고 있었습니다. 나의 4일 돌리도^^(역시 초보라...)

    Db 에러가 나는원인을 알았습니다.

    이유는 Query의 active속성을 true로 해놓았기 때문입니다.

    폼 생성시 알리아스및 테이블을 생성하게 되어있는데 true속성으로 해놓으니

    에러가 발생한 것이었습니다.

    여러분들도 쿼리의 active속성은 false로 해놓고 폼쇼시나 필요한때에 열어쓰시기

    바랍니다. 그럼, 모두 새해복많이 받으시구요. 좋은 하루되세요

    • 장지용
      2001.01.02 23:25
      델파이맨 wrote: > 아래 문장을 실행하면....오라클에러 : 미싱 VALUES 키워드 이렇게 에러가 나는데 왜 ...
    • 델파이맨
      2001.01.03 02:30
      아래껄 보니까...디비를 열어 보니까....저장이 안되어 있어여.. 저장을 어떻게 해여.? 장지용 wrote: ...
    • 성더기
      2001.01.04 23:43
      커밋을 하실려면 Database 컴포넌트를 사용하셔야함다. Database 컴포넌트를 사용하셨다면.. Database1...
    • 김광섭
    • 2001.01.02 22:47
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김영석
      2001.01.03 03:01
      그 단축키를 KeyDown 이나 KeyPress 에서 처리했을거 같은데요.. 그렇게 처리한 다음에 key 값을 0 나 #0 ...
    • 초보자
    • 2001.01.02 22:41
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 하니
      2001.01.03 19:58
      보통 쿼리에서 많이 사용합니다. 예를 들어 테이블에 우편번호 앞에 3자리가 zip1 뒤에 3자리가 zip2필드...
    • Mr. Ziker
      2001.01.03 01:13
      맞습니다. 그렇게 쓰시면 됩니다. 움.. 근데.. Procedure 인가여.. ?? ParamByName 이라고 적혀 있길래 ...
    • 이성훈
      2001.01.02 22:51
      델파이맨 wrote: > 데이타베이스에 char, varchar이거로 선언을 했을때. > parambyname('r1').asstring ...
    • 김진석
      2001.01.03 01:06
      이성훈 wrote: > 델파이맨 wrote: > > 데이타베이스에 char, varchar이거로 선언을 했을때. > > paramby...
    • 3107
    • 2001.01.02 21:23
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 최영근
      2001.01.02 21:04
      안녕하세요 ? 대체적으로 아래와 같은 방법이 있으나 1) 번이 가장 간편하지 않을까 생각합니다. 그럼...
    • 김명일
    • 2001.01.02 20:32
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 황광일
      2001.01.02 21:30
      bit 전개를 하고 싶은건가요? 엄... bit : array[0..7] of byte; 처럼...배열을 준비해야겠죠... ...
    • 궁금이
    • 2001.01.02 20:10
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 궁금이
      2001.01.02 22:22
      궁금이 wrote: > 델파이 초보생인데요. > 궁금한 게 있어서요. > 예를 들어 주민등록번호가 있고 고객명...
    • 궁금이
      2001.01.03 01:47
      궁금이 wrote: > 궁금이 wrote: > > 델파이 초보생인데요. > > 궁금한 게 있어서요. > > 예를 들어 주...
    • 장지용
      2001.01.02 23:00
      죄송합니다. 허접 답변을 해드렸군요. 그러면 우선 체크할 컴포넌트마다 MaxLength 를 먼저 설정하신 ...
    • kjh404
      2001.01.04 19:14
      장지용 wrote: > > 죄송합니다. 허접 답변을 해드렸군요. > > 그러면 우선 체크할 컴포넌트마다 MaxL...
    • 장지용
      2001.01.02 21:07
      OnChange Event 에서 입력한 문자 길이가 13 인지 체크해서 다음 컴포넌트로 이동합니다. if Length(Tr...
    • cico
    • 2001.01.03 14:45
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이선경
    • 2001.01.02 19:13
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 황광일
      2001.01.02 21:34
      URL 이 기억이 안나지만 인터베이스 리눅스용으로 나와있고 다운받으실 수 있습니다... 예전에 인터베...
    • cico
    • 2001.01.02 16:18
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김경민
      2001.01.02 20:53
      cico wrote: > 제작된 프로그램에 헬프파일을 만들어서 사용법을 알리고 싶은데, > > 어케해야 좋을까...
    • 박진수
    • 2001.01.02 11:53
    • 2 COMMENTS
    • /
    • 0 LIKES
    • yosul
      2001.01.02 23:26
      BDE의 에러내용을 알고싶습니다! 수고스럽겠지만 알려 주시겠습니까?
    • 박진수
      2001.01.03 13:39
      yosul님 신경써 주셔서 감사합니다. 에러의 원인을 찾았습니다. 제가 너무 사소한것을 간과하고 있었습...
    • 장지용
    • 2001.01.02 11:30
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김영석
      2001.01.03 03:06
      객체이름에서 맨앞에 T 로 시작하는 것이 아니라 I 로 시작하는 것이라면 대부분 OLE 관련입니다. 따라서...
    • 장지용
      2001.01.03 09:44
      답변 감사드립니다. 아직 테스트 해보지 않았지만 정말 감사합니다. 김영석 wrote: > 객체이름에서 ...
    • 홍용혁
    • 2001.01.02 11:10
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 2001.01.05 01:52
      애플리케이션 사이의 동기화라면 TEvent를 사용하시면 간단히 해결될겁니다. 한쪽에서 데이터를 기록하...
    • yosul
      2001.01.02 23:30
      저두 델파 초보지만여... While문이라는 글을 읽고 생각이 난게 있어서... 쓰레드를 사용하는게 더 좋...
    • 델피언
    • 2001.01.02 05:41
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 구민오
      2001.01.02 20:15
      델피언 wrote: > 검색어를 입력하고 결과를 보면 주소창에 입력한 한글이 %C0%CE%C5%CD%B3%D7 > 이런식...
    • 권영길
      2001.01.02 16:36
      url encoding하셔야 합니다. 마소지 12월호(??)인가 보면 어느 분이 쓰신것을 봤습니다. 델피언 wrote: ...
    • Dellove
    • 2001.01.01 22:08
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이근윤
      2001.01.02 08:41
      WinExec('C:/Program Files/X2Game/Fortress2/F2.exe', SW_SHOW); 이렇게 하신거 같은데, 이렇게 하면 ...