kkuzil.own@gmail.com

Posted
Filed under Development/Delphi
다른 컴포넌트나 라이브러리의 클래스를 사용 할때 기존 소스코드의 변형없이 편하게 기능을 추가 할때 helper  클래스를 사용해왔는데 기작성된 메쏘드, 속성이 private에 있으면 사용이 안된다...
하지만...! 약간의 삽질 결과 아주 간단하게 해결됨..!! -ㅁ-)/


private 의 메쏘드와 속성을 사용할때 앞에 자신을 가리켜 주면된다.("Self.")

type
...
...
// 원래 클래스 형태

  TCustomEdit = class(TWinControl)
  private
    ..
    FMaxLength: Integer;
    ..
    ..

// helper 작성
  TTCustomEditHelper = class helper for TCustomEdit

  public
    procedure SetDefMaxLen;
    ..




implementation


procedure TTCustomEditHelper.SetDefMaxLen;
begin
  Self.FMaxLength := 100; // 요렇게
end;
2014/06/30 15:08 2014/06/30 15:08
Posted
Filed under Development/Delphi
아무리


[Delphi] fastreport 에서 PDF로 Export 시 한글 깨지는 문제


에서 나온데로 해보아도 해결이 되지 않아 이것저것 시도하면서 잡질하는데..

결국 알아냈다.

frxReport 컴포넌트에서 리포트 작성시 사용되는 Memo 컨트롤의
Font를 기본에서 "굴림"으로 바꿔주니깐 해결되더라! 아놔...

어쨌든 해결

끝.
2013/09/25 10:04 2013/09/25 10:04
Posted
Filed under Development/Delphi
http://www.delmadang.com/community/bbs_view.asp?bbsNo=3&bbsCat=0&st=&keyword=&indx=399313&keyword1=&keyword2=&page=3

소스를 직접 수정해 줘야 한다고 한다...ㄷㄷ ;;

이걸 직접 알아낸 김문수님께 감사를..!



----------------------------------------------------------


FastReport가 또 업그레이드를 하면서 코드를 바꿨네요...

언제까지 수정을 계속해야 하는지...
 

유니코드 때문에 한글이 깨져 나가네요 ㅜ.ㅜ

 

frxPDFFile.pas

 

라인: 329

 

//기존 function HexEncode7F(Str: WideString): string;

 function HexEncode7F(Str: String): string;

 

라인 2126

//기존       WriteLn(Stream, '/DescendantFonts [' + IntToStr(Index + 1 + Parent.FStartFonts) + ' 0 R]');

  WriteLn(Stream, '/DescendantFonts [' + IntToStr(Parent.FFontDCnt + Parent.FStartFonts) + ' 0 R]');



 

frxExportXML.pas

 

라인: 310

//기존      'ss:FontName="' + EStyle.Font.Name + '" '+

   'ss:FontName="' + UTF8Encode(EStyle.Font.Name) + '" '+

라인: 427

//기존 s := ChangeReturns(UTF8Encode(s));

//기존 WriteExpLn('<Data' + si + '>' + s + '</Data>');

      s := ChangeReturns(s);

      WriteExpLn('<Data' + si + '>' + UTF8Encode(s) + '</Data>');





frxExportHTML.pas

 

라인: 332

//기존        WriteExpLn(' font-family: ' + EStyle.Font.Name + ';'#13#10 +

      WriteExpLn(' font-family: ' + UTF8Encode(EStyle.Font.Name) + ';'#13#10 +





frxRes.pas



라인: 192

//기존    Result := _UnicodeToAnsi(FValues[Integer(FNames.Objects[i])], DEFAULT_CHARSET, FCP) else

    Result := FValues[Integer(FNames.Objects[i])] else



마지막으로... 누가 좀 리소스를 한글화해서 FastReport사에 등록 좀해 주세요...

FastReport 버전업시 다른 나라 랭귀지 추가 할 때 마다 부럽네요 ㅜ.ㅜ
2013/09/23 19:59 2013/09/23 19:59
Posted
Filed under Development/Delphi

GExpert 기능 중 시간을 찍어주는 기능있다.
주석을 달때 시간을 찍어주면 언제 기록한 건지 알수 있는 기능인데 단축키는 Ctrl + Alt + A 이다.

설정에서 시간 형식과 기타 단어를 추가해 줄 수 있다.

메뉴 > GExperts > Configuration... > Editor Experts 탭 > Insert Date/Time

내가 쓰는 형식 = yy_MMdd hh:mm:ss "sunk" (문자는 따옴표로 묶어준다)

@GExperts 단축키 정보와 중복이지만 시간 형식등을 더 추가 한다.


http://sunkj81.cafe24.com/textcube/entry/Delphi-GExperts-%EC%9C%A0%EC%9A%A9%ED%95%9C-%EB%8B%A8%EC%B6%95%ED%82%A4
2013/08/08 14:52 2013/08/08 14:52
Posted
Filed under Development/Delphi
델파이에서 WNetUseConnection()의 사용 형식은 아래와 같다.


function WNetUseConnection(hwndOwner: HWND;
  var lpNetResource: TNetResource; lpUserID: PWideChar;
  lpPassword: PWideChar; dwFlags: DWORD; lpAccessName: PWideChar;
  var lpBufferSize: DWORD; var lpResult: DWORD): DWORD;

하지만 수십번의 잡질끝에 알아낸건
lpUserID: PWideChar 와 lpPassword: PWideChar 의 위치가 바뀌었다는 것...
왜 안될까 계속 시도해 보고 생각해본 결과 혹시나 해서 바꿔 봤는데... 역시나...

WNetAddConnection2() 이거는



function WNetAddConnection2(var lpNetResource: TNetResource;
  lpPassword, lpUserName: PWideChar; dwFlags: DWORD): DWORD;

이렇게 잘 나와있다.

델파이의 이런 오류들은 필히 기록하자.
2013/07/23 16:43 2013/07/23 16:43